Remove dead diff, some name/diff cleanup
This commit is contained in:
@@ -42,8 +42,8 @@
|
||||
+ return this.badRespawnPointExplosion(position, null);
|
||||
+ }
|
||||
+
|
||||
+ public DamageSource badRespawnPointExplosion(Vec3 vec3d, org.bukkit.block.BlockState blockState) {
|
||||
+ return new DamageSource(this.damageTypes.getOrThrow(DamageTypes.BAD_RESPAWN_POINT), vec3d).directBlockState(blockState);
|
||||
+ public DamageSource badRespawnPointExplosion(Vec3 position, org.bukkit.block.BlockState blockState) {
|
||||
+ return new DamageSource(this.damageTypes.getOrThrow(DamageTypes.BAD_RESPAWN_POINT), position).directBlockState(blockState);
|
||||
+ // CraftBukkit end
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/effect/MobEffectUtil.java
|
||||
+++ b/net/minecraft/world/effect/MobEffectUtil.java
|
||||
@@ -47,18 +_,31 @@
|
||||
@@ -47,18 +_,38 @@
|
||||
public static List<ServerPlayer> addEffectToPlayersAround(
|
||||
ServerLevel level, @Nullable Entity source, Vec3 pos, double radius, MobEffectInstance effect, int duration
|
||||
) {
|
||||
@@ -17,28 +17,31 @@
|
||||
+ // Paper end - Add ElderGuardianAppearanceEvent
|
||||
+ // CraftBukkit end
|
||||
Holder<MobEffect> effect1 = effect.getEffect();
|
||||
- List<ServerPlayer> players = level.getPlayers(
|
||||
List<ServerPlayer> players = level.getPlayers(
|
||||
- serverPlayer -> serverPlayer.gameMode.isSurvival()
|
||||
- && (source == null || !source.isAlliedTo(serverPlayer))
|
||||
- && pos.closerThan(serverPlayer.position(), radius)
|
||||
- && (
|
||||
+ // Paper start - Add ElderGuardianAppearanceEvent
|
||||
+ serverPlayer -> {
|
||||
+ final boolean condition = serverPlayer.gameMode.isSurvival()
|
||||
&& (source == null || !source.isAlliedTo(serverPlayer))
|
||||
&& pos.closerThan(serverPlayer.position(), radius)
|
||||
&& (
|
||||
- !serverPlayer.hasEffect(effect1)
|
||||
- || serverPlayer.getEffect(effect1).getAmplifier() < effect.getAmplifier()
|
||||
- || serverPlayer.getEffect(effect1).endsWithin(duration - 1)
|
||||
- )
|
||||
- );
|
||||
- players.forEach(serverPlayer -> serverPlayer.addEffect(new MobEffectInstance(effect), source));
|
||||
+ List<ServerPlayer> players = level.getPlayers((entityplayer) -> {
|
||||
+ // Paper start - Add ElderGuardianAppearanceEvent
|
||||
+ boolean condition = entityplayer.gameMode.isSurvival() && (source == null || !source.isAlliedTo((Entity) entityplayer)) && pos.closerThan(entityplayer.position(), radius) && (!entityplayer.hasEffect(effect1) || entityplayer.getEffect(effect1).getAmplifier() < effect.getAmplifier() || entityplayer.getEffect(effect1).endsWithin(duration - 1));
|
||||
+ !serverPlayer.hasEffect(effect1)
|
||||
+ || serverPlayer.getEffect(effect1).getAmplifier() < effect.getAmplifier()
|
||||
+ || serverPlayer.getEffect(effect1).endsWithin(duration - 1)
|
||||
+ );
|
||||
+ if (condition) {
|
||||
+ return playerPredicate == null || playerPredicate.test(entityplayer); // Only test the player AFTER it is true
|
||||
+ return playerPredicate == null || playerPredicate.test(serverPlayer); // Only test the player AFTER it is true
|
||||
+ } else {
|
||||
+ return false;
|
||||
+ }
|
||||
+ // Paper end - Add ElderGuardianAppearanceEvent
|
||||
+ });
|
||||
+
|
||||
+ // Paper end - Add ElderGuardianAppearanceEvent
|
||||
+ players.forEach(serverPlayer -> serverPlayer.addEffect(new MobEffectInstance(effect), source, cause)); // CraftBukkit
|
||||
return players;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
return false;
|
||||
} else {
|
||||
mutableLong.setValue(time + 20L + level.getRandom().nextInt(20));
|
||||
+ if (mob.getNavigation().isStuck()) mutableLong.add(200); // Paper - Perf: Wait an additional 10s to check again if they're stuck
|
||||
+ if (mob.getNavigation().isStuck()) mutableLong.add(200); // Paper - Perf: Wait an additional 10s to check again if they're stuck // TODO Modifies Vanilla behavior, add config option
|
||||
PoiManager poiManager = level.getPoiManager();
|
||||
map.long2ObjectEntrySet().removeIf(entry -> !entry.getValue().isStillValid(time));
|
||||
Predicate<BlockPos> predicate1 = pos -> {
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
nearestVisibleLivingEntities -> nearestVisibleLivingEntities.findClosest(livingEntity -> this.ramTargeting.test(level, entity, livingEntity))
|
||||
)
|
||||
+ // CraftBukkit start
|
||||
+ .map((entityliving) -> {
|
||||
+ org.bukkit.event.entity.EntityTargetEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTargetLivingEvent(entity, entityliving, (entityliving instanceof net.minecraft.server.level.ServerPlayer) ? org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_PLAYER : org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_ENTITY);
|
||||
+ .map((livingEntity) -> {
|
||||
+ org.bukkit.event.entity.EntityTargetEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTargetLivingEvent(entity, livingEntity, (livingEntity instanceof net.minecraft.server.level.ServerPlayer) ? org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_PLAYER : org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_ENTITY);
|
||||
+ if (event.isCancelled() || event.getTarget() == null) {
|
||||
+ return null;
|
||||
+ }
|
||||
+ entityliving = ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getTarget()).getHandle();
|
||||
+ return entityliving;
|
||||
+ livingEntity = ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getTarget()).getHandle();
|
||||
+ return livingEntity;
|
||||
+ })
|
||||
+ // CraftBukkit end
|
||||
.ifPresent(entity1 -> this.chooseRamPosition(entity, entity1));
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
--- a/net/minecraft/world/entity/animal/horse/AbstractChestedHorse.java
|
||||
+++ b/net/minecraft/world/entity/animal/horse/AbstractChestedHorse.java
|
||||
@@ -69,9 +_,17 @@
|
||||
@@ -69,6 +_,12 @@
|
||||
super.dropEquipment(level);
|
||||
if (this.hasChest()) {
|
||||
this.spawnAtLocation(level, Blocks.CHEST);
|
||||
+ //this.setChest(false); // Paper - moved to post death logic
|
||||
+ // Paper start - moved to post death logic
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Paper start
|
||||
+ protected void postDeathDropItems(org.bukkit.event.entity.EntityDeathEvent event) {
|
||||
+ if (this.hasChest() && (event == null || !event.isCancelled())) {
|
||||
+ if (this.hasChest() && !event.isCancelled()) {
|
||||
+ // Paper end - moved to post death logic
|
||||
this.setChest(false);
|
||||
}
|
||||
}
|
||||
+ // Paper end
|
||||
|
||||
@Override
|
||||
public void addAdditionalSaveData(CompoundTag compound) {
|
||||
|
||||
Reference in New Issue
Block a user