mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
port API for any mob to burn daylight patch
This commit is contained in:
@@ -42,7 +42,7 @@ index 53a7c465e64920f46ee46d9c71fc595dbfb24021..4daa8dfa6d9e13ffb88ad0c5d4f18f24
|
||||
public LevelChunk getChunkIfLoaded(int x, int z) {
|
||||
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
|
||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||
index ed2b443cd1742772637f77bf1b094c2631d0c7df..477e195dfe753869fb3e4bfd4cf98188573f3574 100644
|
||||
index c7e49eeccf4fdcb5abc4527bf3efd1e36e150165..a5fc9dcaca63e1b30db2346f64bc49adcd263ec7 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -842,6 +842,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
@@ -75,7 +75,7 @@ index a2832445eab54cc6d93f929ac061949002f1bd4b..6d19faa36b4f824533e1b76e7cda1f32
|
||||
if ((target instanceof Bucketable && target instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
target.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 0c88c51f870030812fabbe4239bca2bb815fea92..cf3b9cbe7658d85fee387ede1c27fbd71d940631 100644
|
||||
index 04b14a3eaf74236d72ea9ea090ae53f692e4b9ab..d22350f58ad29700bdca54f4697110bf4639faf9 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -3136,6 +3136,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -177,7 +177,7 @@ index 95d78dcdb6777df73898694367ee17b1cb76d7a2..d0313fd5368baa53ec511c8c07fc78a1
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 7de38a23e6c9e702e25d2e970fc741d1c4e934b0..35c0f89b0a2c7c920277e7b85230f787b781564b 100644
|
||||
index 56c2c0f35e39489679aef921ba65d264eb12c05d..293be658b1154a09468be16583400e7389acc103 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -250,9 +250,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -210,7 +210,7 @@ index 7de38a23e6c9e702e25d2e970fc741d1c4e934b0..35c0f89b0a2c7c920277e7b85230f787
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double y, boolean onGround, BlockState state, BlockPos pos) {
|
||||
@@ -3515,8 +3516,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3526,8 +3527,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.pushEntities();
|
||||
profilerFiller.pop();
|
||||
// Paper start - Add EntityMoveEvent
|
||||
@@ -223,7 +223,7 @@ index 7de38a23e6c9e702e25d2e970fc741d1c4e934b0..35c0f89b0a2c7c920277e7b85230f787
|
||||
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
|
||||
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||
@@ -3526,6 +3529,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3537,6 +3540,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -568,7 +568,7 @@ index c0997c8c0f8ee4474d3acdd5938b1879c4e589a2..28ae152125ed83d8917674b6068f227f
|
||||
double d = this.wantedX - this.fish.getX();
|
||||
double d1 = this.wantedY - this.fish.getY();
|
||||
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
|
||||
index 94244b148533ef026bf5c56abbc2bb5cfa83c938..474240c0fd68dbfe18b8fce7ae6e7634eea65956 100644
|
||||
index d77ae36ffc47d06767066e4ce1c1d21a52e1483c..069444e6de2b587f8df3b87391b1ffcf1ee1c388 100644
|
||||
--- a/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -145,6 +145,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -1069,10 +1069,10 @@ index ddc252c76cedec0a0e9e268d8a874015a5ad52fe..8b0a813f9dd001c6dd108ba7aac04d13
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/IronGolem.java b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
index 8e9ba307a0528eb1aef56bdc0f4ded0e71621253..654f5855e1b69f05205e6a132d79ac94b929eeb4 100644
|
||||
index ab3a3a2488628e18f71e30eab1639e9a08f63986..37b84f98e269bd28a67636929b200ee709804734 100644
|
||||
--- a/net/minecraft/world/entity/animal/IronGolem.java
|
||||
+++ b/net/minecraft/world/entity/animal/IronGolem.java
|
||||
@@ -61,8 +61,27 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -61,9 +61,28 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
super(entityType, level);
|
||||
}
|
||||
|
||||
@@ -1095,12 +1095,13 @@ index 8e9ba307a0528eb1aef56bdc0f4ded0e71621253..654f5855e1b69f05205e6a132d79ac94
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
if (this.level().purpurConfig.ironGolemPoppyCalm) this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.ReceiveFlower(this)); // Purpur - Iron golem calm anger options
|
||||
+ if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur - Ridables
|
||||
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.0, true));
|
||||
this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9, 32.0F));
|
||||
this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6, false));
|
||||
@@ -70,6 +89,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -71,6 +90,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
this.goalSelector.addGoal(5, new OfferFlowerGoal(this));
|
||||
this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
|
||||
@@ -1108,7 +1109,7 @@ index 8e9ba307a0528eb1aef56bdc0f4ded0e71621253..654f5855e1b69f05205e6a132d79ac94
|
||||
this.targetSelector.addGoal(1, new DefendVillageTargetGoal(this));
|
||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this));
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt));
|
||||
@@ -256,12 +276,12 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
@@ -257,12 +277,12 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
|
||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
ItemStack itemInHand = player.getItemInHand(hand);
|
||||
if (!itemInHand.is(Items.IRON_INGOT)) {
|
||||
@@ -1296,7 +1297,7 @@ index 283ddf7d13a17c0a6df5a52b7fd26ed7b7a4826b..19aa39af6685a03eb584820853239a3f
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 9b43cab816c780a78c823f72119c291a8b264ac7..11a19ad96317d2e44ab998e4125596aeac0e999b 100644
|
||||
index e682575b6ccee62d22e01ee1c81d1b2a065c236e..6dcb01914b7f2e0cd5d04b78f323bfd609de4ac4 100644
|
||||
--- a/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -124,12 +124,68 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -1369,13 +1370,14 @@ index 9b43cab816c780a78c823f72119c291a8b264ac7..11a19ad96317d2e44ab998e4125596ae
|
||||
@Nullable
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(
|
||||
@@ -150,8 +206,10 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -150,9 +206,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
- this.goalSelector.addGoal(0, new TamableAnimal.TamableAnimalPanicGoal(1.25));
|
||||
+ //this.goalSelector.addGoal(0, new TamableAnimal.TamableAnimalPanicGoal(1.25)); // Purpur - move down
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
if (this.level().purpurConfig.parrotBreedable) this.goalSelector.addGoal(1, new net.minecraft.world.entity.ai.goal.BreedGoal(this, 1.0D)); // Purpur - Breedable parrots
|
||||
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur - Ridables
|
||||
+ this.goalSelector.addGoal(1, new TamableAnimal.TamableAnimalPanicGoal(1.25D)); // Purpur - Ridables
|
||||
this.goalSelector.addGoal(1, new LookAtPlayerGoal(this, Player.class, 8.0F));
|
||||
@@ -3134,7 +3136,7 @@ index 2e32567fca7a2a4cd87bc078a6eeb30e3ffabfce..4873a3d8dd9c160ecdbda594ee546c35
|
||||
public boolean doHurtTarget(ServerLevel level, Entity source) {
|
||||
if (super.doHurtTarget(level, source)) {
|
||||
diff --git a/net/minecraft/world/entity/monster/Creeper.java b/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 6f145c8c87ac128716da91f7560ae5a48af64bad..819e9fa4bd50bdaec68d883a464f66dc011cd8e9 100644
|
||||
index 9aff3c911a56885ab3c34bb34bb05e7b1c00d3bd..cdcee233ed0c272e4a68a2a709fe92b21bc6c22c 100644
|
||||
--- a/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -51,21 +51,98 @@ public class Creeper extends Monster {
|
||||
@@ -3236,7 +3238,7 @@ index 6f145c8c87ac128716da91f7560ae5a48af64bad..819e9fa4bd50bdaec68d883a464f66dc
|
||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this));
|
||||
}
|
||||
@@ -311,6 +388,7 @@ public class Creeper extends Monster {
|
||||
@@ -312,6 +389,7 @@ public class Creeper extends Monster {
|
||||
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
|
||||
if (event.callEvent()) {
|
||||
this.entityData.set(DATA_IS_IGNITED, event.isIgnited());
|
||||
@@ -5039,7 +5041,7 @@ index 99947e9877b79c0d419e1639c2b1379fc1504c6a..7e4d14d30eb3f06c0c7426e09084355a
|
||||
if (this.level().purpurConfig.wanderingTraderAllowTrading) { // Purpur - Add config for villager trading
|
||||
this.setTradingPlayer(player);
|
||||
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
||||
index 6e84f57c90c0747403c4679bc920f9a9aa83594f..fa258b6a1795d18a053843e93349dbf9aadf7e77 100644
|
||||
index 7e358600f5013e7ff7050626fa3d17b18d8d1f9b..83a64dcdeb6cb3139db23327e7ce62109ce771fa 100644
|
||||
--- a/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/net/minecraft/world/entity/player/Player.java
|
||||
@@ -218,6 +218,19 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -5080,7 +5082,7 @@ index 4880db97135d54fa72f64c108b2bd4ded096438b..bc102b049047d6e2a1d29e10f92cdf5a
|
||||
protected double getDefaultGravity() {
|
||||
return 0.06;
|
||||
diff --git a/net/minecraft/world/entity/projectile/WitherSkull.java b/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index 843a359d082ac1eba56f37179a6b28251dbf7c94..db071d4f98513b56bcc83e80fc2e5ee9609888af 100644
|
||||
index c7a76d45b5749cf054607808610eb710493f80ea..9af37bd40649f602d700fc7b683c646ae9189eb9 100644
|
||||
--- a/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -110,6 +110,14 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
|
||||
Reference in New Issue
Block a user