Skip to content

Commit 9783e1d

Browse files
encode42granny
authored andcommitted
Add back player spawned endermite API
1 parent 1ae2705 commit 9783e1d

8 files changed

Lines changed: 77 additions & 104 deletions

File tree

patches/server/0130-Add-back-player-spawned-endermite-API.patch

Lines changed: 0 additions & 80 deletions
This file was deleted.

patches/api/0025-Add-back-player-spawned-endermite-API.patch renamed to purpur-api/paper-patches/files/src/main/java/org/bukkit/entity/Endermite.java.patch

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
1-
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2-
From: William Blake Galbreath <blake.galbreath@gmail.com>
3-
Date: Sat, 26 Jun 2021 22:08:57 -0500
4-
Subject: [PATCH] Add back player spawned endermite API
5-
6-
7-
diff --git a/src/main/java/org/bukkit/entity/Endermite.java b/src/main/java/org/bukkit/entity/Endermite.java
8-
index 7b379fb21e800a766ad022705a12dff6d42279ab..10a8d64ad2da0be2c14f34c3e7d1957c6f2883d1 100644
91
--- a/src/main/java/org/bukkit/entity/Endermite.java
102
+++ b/src/main/java/org/bukkit/entity/Endermite.java
11-
@@ -3,25 +3,21 @@ package org.bukkit.entity;
3+
@@ -3,25 +_,21 @@
124
public interface Endermite extends Monster {
135

146
/**

purpur-server/minecraft-patches/features/0001-Ridables.patch

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ index 7f136e044a243814372beef1400d3b6a148d2cbf..5e730cdde960603d5fa0fa7d1b70ec56
4242
public LevelChunk getChunkIfLoaded(int x, int z) {
4343
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
4444
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
45-
index 78daeb23bb520774697c8d3d68aa4abe28a40cac..03d0df75dedd414aa54d88ed204cf82c3a4dfc88 100644
45+
index ed2b443cd1742772637f77bf1b094c2631d0c7df..477e195dfe753869fb3e4bfd4cf98188573f3574 100644
4646
--- a/net/minecraft/server/level/ServerPlayer.java
4747
+++ b/net/minecraft/server/level/ServerPlayer.java
4848
@@ -842,6 +842,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -3389,12 +3389,12 @@ index a252b2680131fa4af11c807d5fd5f942dcb0eb40..4feb8ebe2c50b7b1ba7e868cc3bd182a
33893389
} else {
33903390
boolean flag = damageSource.getDirectEntity() instanceof ThrownPotion;
33913391
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
3392-
index 2a219c9ae39d7cbee8484b2a93bd278d913afe95..f412cebb5c350bf16f0bee710a4ae1df7c72c384 100644
3392+
index 4e00daa6ece386f70502c074084b7b1b64caac2f..f4ab2e984dd87d2372aa10d2cbfd03a3f6fb1249 100644
33933393
--- a/net/minecraft/world/entity/monster/Endermite.java
33943394
+++ b/net/minecraft/world/entity/monster/Endermite.java
3395-
@@ -34,14 +34,33 @@ public class Endermite extends Monster {
3396-
this.xpReward = 3;
3395+
@@ -45,14 +45,33 @@ public class Endermite extends Monster {
33973396
}
3397+
// Purpur end - Add back player spawned endermite API
33983398

33993399
+ // Purpur start - Ridables
34003400
+ @Override

purpur-server/minecraft-patches/features/0002-Configurable-entity-base-attributes.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ index d0313fd5368baa53ec511c8c07fc78a1f1ecec4e..898b1e01026ec1f44cfe60e9f18a997c
2323
protected ParticleOptions getInkParticle() {
2424
return ParticleTypes.GLOW_SQUID_INK;
2525
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
26-
index d7d147c5afa566db3fe9f843ee3f0e69b8a8cd12..d076e9f26af543fadd062e4dca5ccaafabe71cb2 100644
26+
index 35c0f89b0a2c7c920277e7b85230f787b781564b..4da15a9c9da346c9378575cbb7c804d8c23a92ca 100644
2727
--- a/net/minecraft/world/entity/LivingEntity.java
2828
+++ b/net/minecraft/world/entity/LivingEntity.java
2929
@@ -311,6 +311,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1068,10 +1068,10 @@ index 4feb8ebe2c50b7b1ba7e868cc3bd182a9801c631..c845481aa48c4c0d670058866351e1c9
10681068
protected void registerGoals() {
10691069
this.goalSelector.addGoal(0, new FloatGoal(this));
10701070
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
1071-
index f412cebb5c350bf16f0bee710a4ae1df7c72c384..fd042f9900e39870208c6b358e490ea82741725f 100644
1071+
index f4ab2e984dd87d2372aa10d2cbfd03a3f6fb1249..2ea45eba13d0b0ea2d3c1d1a3666d6e2e027a3ef 100644
10721072
--- a/net/minecraft/world/entity/monster/Endermite.java
10731073
+++ b/net/minecraft/world/entity/monster/Endermite.java
1074-
@@ -51,6 +51,14 @@ public class Endermite extends Monster {
1074+
@@ -62,6 +62,14 @@ public class Endermite extends Monster {
10751075
}
10761076
// Purpur end - Ridables
10771077

purpur-server/minecraft-patches/features/0018-Toggle-for-water-sensitive-mob-damage.patch

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ index 62fbaed0f81b900730ab22b969ffd48d31a268ce..5c8b88e8dca604d053c59106e64bfcf3
6666
public int getRemainingPersistentAngerTime() {
6767
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
6868
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
69-
index f0b7025e5a0d9f2aeb42dec388c1c532a46ece35..2c59f07b59e345db1b3e53854efb3b2d3d1311ae 100644
69+
index 584568cef949cee24aa7850d2ff99d47cd089a6e..b41ca04043e65f107edaebc49d398650898e35fb 100644
7070
--- a/net/minecraft/world/entity/animal/Cat.java
7171
+++ b/net/minecraft/world/entity/animal/Cat.java
7272
@@ -133,6 +133,13 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -246,7 +246,7 @@ index 450c7be36846bf4e95f84615fca893501415cdbc..d5d2b9656ec22536ccd9ddb0ebe48a19
246246
protected boolean canDispenserEquipIntoSlot(EquipmentSlot slot) {
247247
return slot == EquipmentSlot.MAINHAND && this.canPickUpLoot();
248248
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
249-
index 1020e28a8c82b786a317098e2072d1a16f8964f0..4ac3b1d276ef842f46d1316e39f4a8765729f928 100644
249+
index f7efd5d2534a7b7d20e1951ffa6b0314434f82e2..ff8cd170064e6cfa943c228a1bc82ef7a5a45b7f 100644
250250
--- a/net/minecraft/world/entity/animal/Parrot.java
251251
+++ b/net/minecraft/world/entity/animal/Parrot.java
252252
@@ -201,6 +201,13 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -439,7 +439,7 @@ index edbccb7ca27aa8a1917eb8b35b3ba8600c91111a..cf297f766340b4ff8ecaf80a9a13b289
439439
this.entityData.set(HOME_POS, homePos);
440440
}
441441
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
442-
index 3e1cb63c1658dccc3bee53ed82ff5b5b7f321afd..56cf038c4395e07ea8df0e72075445772977999a 100644
442+
index 136f2c43272e5a45e473b66656818ed88de1cff3..f2e2cee3fd4a8bdec0c8922170930f81c14dfb32 100644
443443
--- a/net/minecraft/world/entity/animal/Wolf.java
444444
+++ b/net/minecraft/world/entity/animal/Wolf.java
445445
@@ -217,6 +217,13 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
@@ -619,7 +619,7 @@ index cdff0fab8a256c1e06e280500a31d4a99659d1ee..a2642457d3c24a13a8becb4d743c42e6
619619
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0).add(Attributes.MOVEMENT_SPEED, 0.2F);
620620
}
621621
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
622-
index ed8b68057b1ac2d1cfa7c0eed0d1f5f16918af6b..f997721ee6e9f04b59e2f4a7a5a8495eccc83072 100644
622+
index 724d259d4b793f2043e63dda9022bdfddc4dca38..b2a0ba6faa117ad781aaa3e6932482d4d9c8a789 100644
623623
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
624624
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
625625
@@ -170,6 +170,13 @@ public class EnderDragon extends Mob implements Enemy {
@@ -637,7 +637,7 @@ index ed8b68057b1ac2d1cfa7c0eed0d1f5f16918af6b..f997721ee6e9f04b59e2f4a7a5a8495e
637637
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0);
638638
}
639639
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
640-
index 96e0172c405970253827a6b6a83ebd441f496268..7468a9691116e5aa75eede3a4ef1d52821ba6cb7 100644
640+
index a9303429be73841480f81a8a6687787e5c169ddc..0bfb624fa2656ba416e02b645e92ec5814ea7156 100644
641641
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
642642
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
643643
@@ -107,6 +107,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
@@ -771,10 +771,10 @@ index 7434c7bad021e474bf0ecbd1cb28a38b92f3586e..b76d47dfbc6a81497fc6d5dcc0be2297
771771

772772
@Override
773773
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
774-
index fd042f9900e39870208c6b358e490ea82741725f..ecb14cdab0496777c897137926de65a9c8f31d55 100644
774+
index 2ea45eba13d0b0ea2d3c1d1a3666d6e2e027a3ef..38e3b3ed2c003fe7bbb476f7bf9a882ea2de792a 100644
775775
--- a/net/minecraft/world/entity/monster/Endermite.java
776776
+++ b/net/minecraft/world/entity/monster/Endermite.java
777-
@@ -59,6 +59,13 @@ public class Endermite extends Monster {
777+
@@ -70,6 +70,13 @@ public class Endermite extends Monster {
778778
}
779779
// Purpur end - Configurable entity base attributes
780780

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--- a/net/minecraft/world/entity/monster/Endermite.java
2+
+++ b/net/minecraft/world/entity/monster/Endermite.java
3+
@@ -28,12 +_,23 @@
4+
public class Endermite extends Monster {
5+
private static final int MAX_LIFE = 2400;
6+
public int life;
7+
+ private boolean isPlayerSpawned; // Purpur - Add back player spawned endermite API
8+
9+
public Endermite(EntityType<? extends Endermite> entityType, Level level) {
10+
super(entityType, level);
11+
this.xpReward = 3;
12+
}
13+
14+
+ // Purpur start - Add back player spawned endermite API
15+
+ public boolean isPlayerSpawned() {
16+
+ return this.isPlayerSpawned;
17+
+ }
18+
+
19+
+ public void setPlayerSpawned(boolean playerSpawned) {
20+
+ this.isPlayerSpawned = playerSpawned;
21+
+ }
22+
+ // Purpur end - Add back player spawned endermite API
23+
+
24+
@Override
25+
protected void registerGoals() {
26+
this.goalSelector.addGoal(1, new FloatGoal(this));
27+
@@ -79,12 +_,14 @@
28+
public void readAdditionalSaveData(CompoundTag compound) {
29+
super.readAdditionalSaveData(compound);
30+
this.life = compound.getInt("Lifetime");
31+
+ this.isPlayerSpawned = compound.getBoolean("PlayerSpawned"); // Purpur - Add back player spawned endermite API
32+
}
33+
34+
@Override
35+
public void addAdditionalSaveData(CompoundTag compound) {
36+
super.addAdditionalSaveData(compound);
37+
compound.putInt("Lifetime", this.life);
38+
+ compound.putBoolean("PlayerSpawned", this.isPlayerSpawned); // Purpur - Add back player spawned endermite API
39+
}
40+
41+
@Override

purpur-server/minecraft-patches/sources/net/minecraft/world/entity/projectile/ThrownEnderpearl.java.patch

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
--- a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
22
+++ b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
3-
@@ -133,7 +_,7 @@
3+
@@ -133,9 +_,10 @@
44
return;
55
}
66
// CraftBukkit end
77
- if (this.random.nextFloat() < 0.05F && serverLevel.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) {
88
+ if (this.random.nextFloat() < serverLevel.purpurConfig.enderPearlEndermiteChance && serverLevel.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) { // Purpur - Configurable Ender Pearl RNG
99
Endermite endermite = EntityType.ENDERMITE.create(serverLevel, EntitySpawnReason.TRIGGERED);
1010
if (endermite != null) {
11+
+ endermite.setPlayerSpawned(true); // Purpur - Add back player spawned endermite API
1112
endermite.moveTo(owner.getX(), owner.getY(), owner.getZ(), owner.getYRot(), owner.getXRot());
13+
serverLevel.addFreshEntity(endermite, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.ENDER_PEARL);
14+
}
1215
@@ -155,7 +_,7 @@
1316
if (serverPlayer1 != null) {
1417
serverPlayer1.resetFallDistance();
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java
2+
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEndermite.java
3+
@@ -21,12 +_,12 @@
4+
5+
@Override
6+
public boolean isPlayerSpawned() {
7+
- return false;
8+
+ return getHandle().isPlayerSpawned(); // Purpur - Add back player spawned endermite API
9+
}
10+
11+
@Override
12+
public void setPlayerSpawned(boolean playerSpawned) {
13+
- // Nop
14+
+ getHandle().setPlayerSpawned(playerSpawned); // Purpur - Add back player spawned endermite API
15+
}
16+
// Paper start
17+
@Override

0 commit comments

Comments
 (0)