Somehow a bunch of items were missed
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/level/BaseSpawner.java
|
||||
+++ b/net/minecraft/world/level/BaseSpawner.java
|
||||
@@ -44,9 +_,11 @@
|
||||
@@ -44,13 +_,15 @@
|
||||
public int maxNearbyEntities = 6;
|
||||
public int requiredPlayerRange = 16;
|
||||
public int spawnRange = 4;
|
||||
@@ -12,6 +12,11 @@
|
||||
}
|
||||
|
||||
public boolean isNearPlayer(Level level, BlockPos pos) {
|
||||
- return level.hasNearbyAlivePlayer(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, this.requiredPlayerRange);
|
||||
+ return level.hasNearbyAlivePlayerThatAffectsSpawning(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, this.requiredPlayerRange); // Paper - Affects Spawning API
|
||||
}
|
||||
|
||||
public void clientTick(Level level, BlockPos pos) {
|
||||
@@ -73,13 +_,19 @@
|
||||
}
|
||||
|
||||
@@ -72,7 +77,7 @@
|
||||
+ if (mob.level().spigotConfig.nerfSpawnerMobs) {
|
||||
+ mob.aware = false;
|
||||
+ }
|
||||
+ // Spigot End
|
||||
+ // Spigot End
|
||||
}
|
||||
|
||||
- if (!serverLevel.tryAddFreshEntityWithPassengers(entity)) {
|
||||
|
||||
@@ -1,28 +1,30 @@
|
||||
--- a/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
|
||||
@@ -106,6 +_,51 @@
|
||||
@@ -106,6 +_,53 @@
|
||||
return 3;
|
||||
}
|
||||
};
|
||||
+ // CraftBukkit start - add fields and methods
|
||||
+ @Nullable
|
||||
+ public org.bukkit.potion.PotionEffect getPrimaryEffect() {
|
||||
+ return (this.primaryPower != null)
|
||||
+ ? org.bukkit.craftbukkit.potion.CraftPotionUtil.toBukkit(new MobEffectInstance(
|
||||
+ this.primaryPower,
|
||||
+ BeaconBlockEntity.getLevel(this.levels),
|
||||
+ BeaconBlockEntity.getAmplification(this.levels, this.primaryPower, this.secondaryPower),
|
||||
+ BeaconBlockEntity.computeEffectDuration(this.levels),
|
||||
+ BeaconBlockEntity.computeEffectAmplifier(this.levels, this.primaryPower, this.secondaryPower),
|
||||
+ true,
|
||||
+ true
|
||||
+ ))
|
||||
+ : null;
|
||||
+ }
|
||||
+
|
||||
+ @Nullable
|
||||
+ public org.bukkit.potion.PotionEffect getSecondaryEffect() {
|
||||
+ return (BeaconBlockEntity.hasSecondaryEffect(this.levels, this.primaryPower, this.secondaryPower))
|
||||
+ ? org.bukkit.craftbukkit.potion.CraftPotionUtil.toBukkit(new MobEffectInstance(
|
||||
+ this.secondaryPower,
|
||||
+ BeaconBlockEntity.getLevel(this.levels),
|
||||
+ BeaconBlockEntity.getAmplification(this.levels, this.primaryPower, this.secondaryPower),
|
||||
+ BeaconBlockEntity.computeEffectDuration(this.levels),
|
||||
+ BeaconBlockEntity.computeEffectAmplifier(this.levels, this.primaryPower, this.secondaryPower),
|
||||
+ true,
|
||||
+ true
|
||||
+ ))
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
+
|
||||
+ @Override
|
||||
+ public java.util.List<net.minecraft.world.item.ItemStack> getContents() {
|
||||
+ return Collections.singletonList(this.item);
|
||||
+ return java.util.Collections.singletonList(this.item);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
+ // I don't want to know why this is a generic type.
|
||||
+ Entity entityCasted = (Entity)entity;
|
||||
+ boolean wasRemoved = entityCasted.isRemoved();
|
||||
+ boolean screened = ca.spottedleaf.moonrise.common.util.ChunkSystem.screenEntity((net.minecraft.server.level.ServerLevel)entityCasted.level(), entityCasted, existing, true);
|
||||
+ boolean screened = ca.spottedleaf.moonrise.common.util.ChunkSystem.screenEntity((net.minecraft.server.level.ServerLevel)entityCasted.level(), entityCasted, worldGenSpawned, true);
|
||||
+ if ((!wasRemoved && entityCasted.isRemoved()) || !screened) {
|
||||
+ // removed by callback
|
||||
+ return false;
|
||||
@@ -107,7 +107,7 @@
|
||||
this.requestChunkLoad(chunkPosValue);
|
||||
return false;
|
||||
} else {
|
||||
+ if (callEvent) org.bukkit.craftbukkit.event.CraftEventFactory.callEntitiesUnloadEvent(((net.minecraft.world.level.chunk.storage.EntityStorage) this.permanentStorage).level, new ChunkPos(i), list.stream().map(entity -> (Entity) entity).collect(Collectors.toList())); // CraftBukkit
|
||||
+ if (callEvent) org.bukkit.craftbukkit.event.CraftEventFactory.callEntitiesUnloadEvent(((net.minecraft.world.level.chunk.storage.EntityStorage) this.permanentStorage).level, new ChunkPos(chunkPosValue), list.stream().map(entity -> (Entity) entity).collect(Collectors.toList())); // CraftBukkit
|
||||
this.permanentStorage.storeEntities(new ChunkEntities<>(new ChunkPos(chunkPosValue), list));
|
||||
list.forEach(entityAction);
|
||||
return true;
|
||||
@@ -149,7 +149,7 @@
|
||||
this.chunkLoadStatuses.put(chunkEntities.getPos().toLong(), PersistentEntitySectionManager.ChunkLoadStatus.LOADED);
|
||||
+ // CraftBukkit start - call entity load event
|
||||
+ List<Entity> entities = this.getEntities(chunkEntities.getPos());
|
||||
+ org.bukkit.craftbukkit.event.CraftEventFactory.callEntitiesLoadEvent(((net.minecraft.world.level.chunk.storage.EntityStorage) this.permanentStorage).level, chunkentities.getPos(), entities);
|
||||
+ org.bukkit.craftbukkit.event.CraftEventFactory.callEntitiesLoadEvent(((net.minecraft.world.level.chunk.storage.EntityStorage) this.permanentStorage).level, chunkEntities.getPos(), entities);
|
||||
+ // CraftBukkit end
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user