mirror of
https://github.com/PurpurMC/Purpur.git
synced 2025-02-11 12:50:28 +08:00
we compile
This commit is contained in:
parent
589c34e018
commit
71c445017d
@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
||||
version = 1.20-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion = 1.20
|
||||
paperCommit = 4b5f84712ba3afab4ab9184de91d85d070584e60
|
||||
paperCommit = 648c000fb2330ca1f9b7833a275e70f06c1fce83
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index bb62037ea111f27bed78001ec2e179cc69e0084e..949bacc06d06d90980243dfc14360599a8030e03 100644
|
||||
index ca7a9098db4eb7ddcb72f1e14a81626de2c75811..7d54129ef393583df2fb2a4af81649be82eebdbe 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3192,5 +3192,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3192,5 +3192,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* Clears all debug block highlights
|
||||
*/
|
||||
void clearBlockHighlights();
|
||||
@ -26,7 +26,11 @@ index bb62037ea111f27bed78001ec2e179cc69e0084e..949bacc06d06d90980243dfc14360599
|
||||
+ *
|
||||
+ * @param message The death message to show the player
|
||||
+ * @param killer The entity that killed the player
|
||||
+ * @deprecated Use {@link #sendDeathScreen(net.kyori.adventure.text.Component)} instead, as 1.20 removed the killer ID from the packet.
|
||||
+ */
|
||||
+ void sendDeathScreen(@NotNull net.kyori.adventure.text.Component message, @Nullable Entity killer);
|
||||
+ @Deprecated(since = "1.20")
|
||||
+ default void sendDeathScreen(@NotNull net.kyori.adventure.text.Component message, @Nullable Entity killer) {
|
||||
+ sendDeathScreen(message);
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
|
@ -460,7 +460,7 @@ index 0000000000000000000000000000000000000000..2b7f1dedb3289efc7e42a138f4483f49
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..173b6bba1c8eb4c6c6ab55cad478db7c4c91fd75
|
||||
index 0000000000000000000000000000000000000000..afdf04f8b22ad0b7c0b41675e44687b49c2f86d6
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
@@ -0,0 +1,65 @@
|
||||
@ -514,7 +514,7 @@ index 0000000000000000000000000000000000000000..173b6bba1c8eb4c6c6ab55cad478db7c
|
||||
+ MinecraftServer console = MinecraftServer.getServer();
|
||||
+ PurpurConfig.init((File) console.options.valueOf("purpur-settings"));
|
||||
+ for (ServerLevel level : console.getAllLevels()) {
|
||||
+ level().purpurConfig.init();
|
||||
+ level.purpurConfig.init();
|
||||
+ }
|
||||
+ console.server.reloadCount++;
|
||||
+
|
||||
|
@ -6316,7 +6316,7 @@ index 0000000000000000000000000000000000000000..ba2a37dad43e238e54632975abea8ee6
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..b436fd92e2db17f6a2ee4118a7a51e324b567b46
|
||||
index 0000000000000000000000000000000000000000..af057c1d7fd74f3dd806c5ce7f8b0ad06cab7b8e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
@@ -0,0 +1,99 @@
|
||||
@ -6361,7 +6361,7 @@ index 0000000000000000000000000000000000000000..b436fd92e2db17f6a2ee4118a7a51e32
|
||||
+ super_tick();
|
||||
+
|
||||
+ Vec3 mot = this.getDeltaMovement();
|
||||
+ HitResult hitResult = ProjectileUtil.getHitResult(this, this::canHitEntity);
|
||||
+ HitResult hitResult = ProjectileUtil.getHitResult(this.position(), this, this::canHitEntity, mot, level());
|
||||
+
|
||||
+ this.preOnHit(hitResult);
|
||||
+
|
||||
@ -6373,7 +6373,7 @@ index 0000000000000000000000000000000000000000..b436fd92e2db17f6a2ee4118a7a51e32
|
||||
+
|
||||
+ Vec3 motDouble = mot.scale(2.0);
|
||||
+ for (int i = 0; i < 5; i++) {
|
||||
+ ((ServerLevel) level).sendParticles(null, ParticleTypes.BUBBLE,
|
||||
+ ((ServerLevel) level()).sendParticles(null, ParticleTypes.BUBBLE,
|
||||
+ getX() + random.nextFloat() / 2 - 0.25F,
|
||||
+ getY() + random.nextFloat() / 2 - 0.25F,
|
||||
+ getZ() + random.nextFloat() / 2 - 0.25F,
|
||||
@ -6415,7 +6415,7 @@ index 0000000000000000000000000000000000000000..b436fd92e2db17f6a2ee4118a7a51e32
|
||||
+ return;
|
||||
+ }
|
||||
+ BlockState state = this.level().getBlockState(blockHitResult.getBlockPos());
|
||||
+ state.onProjectileHit(this.level, state, blockHitResult, this);
|
||||
+ state.onProjectileHit(this.level(), state, blockHitResult, this);
|
||||
+ this.discard();
|
||||
+ }
|
||||
+}
|
||||
|
@ -73,7 +73,7 @@ index 5465711d486e5f265a26042031e895fb09e30608..e73446de9a58643609fedcbd0a503d95
|
||||
@Override
|
||||
protected void addAdditionalSaveData(CompoundTag nbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 961300cb8bcc7b0aff476a435aa33e713bd520a6..a72dc02aaed018df9172f9c322b27c3e6399d0a3 100644
|
||||
index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1ed5d19bd9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@ -84,23 +84,22 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..a72dc02aaed018df9172f9c322b27c3e
|
||||
|
||||
public Phantom(EntityType<? extends Phantom> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -116,6 +117,24 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -116,6 +117,23 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
level().addFreshEntity(flames);
|
||||
return true;
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ protected net.minecraft.world.level.storage.loot.LootContext.Builder createLootContext(boolean causedByPlayer, DamageSource source) {
|
||||
+ protected void dropFromLootTable(DamageSource damageSource, boolean causedByPlayer) {
|
||||
+ boolean dropped = false;
|
||||
+ if (lastHurtByPlayer == null && source.getEntity() instanceof net.minecraft.world.entity.boss.enderdragon.EndCrystal) {
|
||||
+ if (lastHurtByPlayer == null && damageSource.getEntity() instanceof net.minecraft.world.entity.boss.enderdragon.EndCrystal) {
|
||||
+ if (random.nextInt(5) < 1) {
|
||||
+ dropped = spawnAtLocation(new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.PHANTOM_MEMBRANE)) != null;
|
||||
+ }
|
||||
+ }
|
||||
+ if (!dropped) {
|
||||
+ return super.createLootContext(causedByPlayer, source);
|
||||
+ super.dropFromLootTable(damageSource, causedByPlayer);
|
||||
+ }
|
||||
+ return new net.minecraft.world.level.storage.loot.LootContext.Builder((net.minecraft.server.level.ServerLevel) level);
|
||||
+ }
|
||||
+
|
||||
+ public boolean isCirclingCrystal() {
|
||||
@ -109,7 +108,7 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..a72dc02aaed018df9172f9c322b27c3e
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -130,11 +149,17 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -130,11 +148,17 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
@ -132,7 +131,7 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..a72dc02aaed018df9172f9c322b27c3e
|
||||
this.targetSelector.addGoal(1, new Phantom.PhantomAttackPlayerTargetGoal());
|
||||
}
|
||||
|
||||
@@ -348,6 +373,124 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -348,6 +372,124 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
private AttackPhase() {}
|
||||
}
|
||||
|
||||
@ -151,7 +150,7 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..a72dc02aaed018df9172f9c322b27c3e
|
||||
+ @Override
|
||||
+ public boolean canUse() {
|
||||
+ double range = maxTargetRange();
|
||||
+ List<net.minecraft.world.entity.boss.enderdragon.EndCrystal> crystals = level.getEntitiesOfClass(net.minecraft.world.entity.boss.enderdragon.EndCrystal.class, phantom.getBoundingBox().inflate(range));
|
||||
+ List<net.minecraft.world.entity.boss.enderdragon.EndCrystal> crystals = level().getEntitiesOfClass(net.minecraft.world.entity.boss.enderdragon.EndCrystal.class, phantom.getBoundingBox().inflate(range));
|
||||
+ if (crystals.isEmpty()) {
|
||||
+ return false;
|
||||
+ }
|
||||
@ -234,11 +233,11 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..a72dc02aaed018df9172f9c322b27c3e
|
||||
+ if (phantom.moveTargetPoint.distanceToSqr(phantom.getX(), phantom.getY(), phantom.getZ()) < 4.0D) {
|
||||
+ updateOffset();
|
||||
+ }
|
||||
+ if (phantom.moveTargetPoint.y < phantom.getY() && !phantom.level.isEmptyBlock(new BlockPos(phantom).below(1))) {
|
||||
+ if (phantom.moveTargetPoint.y < phantom.getY() && !phantom.level().isEmptyBlock(new BlockPos(phantom).below(1))) {
|
||||
+ this.verticalChange = Math.max(1.0F, this.verticalChange);
|
||||
+ updateOffset();
|
||||
+ }
|
||||
+ if (phantom.moveTargetPoint.y > phantom.getY() && !phantom.level.isEmptyBlock(new BlockPos(phantom).above(1))) {
|
||||
+ if (phantom.moveTargetPoint.y > phantom.getY() && !phantom.level().isEmptyBlock(new BlockPos(phantom).above(1))) {
|
||||
+ this.verticalChange = Math.min(-1.0F, this.verticalChange);
|
||||
+ updateOffset();
|
||||
+ }
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms burn in light
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index b0aad0632ed2c6004222a4715c2643eff13f030c..776602b545f5ee3b566787befb0f43075ce02a29 100644
|
||||
index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f83bf9a65 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@ -16,7 +16,7 @@ index b0aad0632ed2c6004222a4715c2643eff13f030c..776602b545f5ee3b566787befb0f4307
|
||||
Vec3 crystalPosition; // Purpur
|
||||
|
||||
public Phantom(EntityType<? extends Phantom> type, Level world) {
|
||||
@@ -247,7 +248,12 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -246,7 +247,12 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@ -30,7 +30,7 @@ index b0aad0632ed2c6004222a4715c2643eff13f030c..776602b545f5ee3b566787befb0f4307
|
||||
if (getRider() == null || !this.isControllable()) // Purpur
|
||||
this.setSecondsOnFire(8);
|
||||
}
|
||||
@@ -657,6 +663,12 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -656,6 +662,12 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
return false;
|
||||
} else if (!entityliving.isAlive()) {
|
||||
return false;
|
||||
@ -43,7 +43,7 @@ index b0aad0632ed2c6004222a4715c2643eff13f030c..776602b545f5ee3b566787befb0f4307
|
||||
} else {
|
||||
if (entityliving instanceof Player) {
|
||||
Player entityhuman = (Player) entityliving;
|
||||
@@ -802,6 +814,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -801,6 +813,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
this.nextScanTick = reducedTickDelay(60);
|
||||
List<Player> list = Phantom.this.level().getNearbyPlayers(this.attackTargeting, Phantom.this, Phantom.this.getBoundingBox().inflate(16.0D, 64.0D, 16.0D));
|
||||
|
||||
|
@ -124,13 +124,13 @@ index 27f499f7a6924f9d3ca923c5c57d8770228c3c38..79f951f6275612234a26bff758ef3b0a
|
||||
|
||||
public int daytimeTicks = 12000;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
index 173b6bba1c8eb4c6c6ab55cad478db7c4c91fd75..e1e2a010bb741110aff43690e3aa6be84a5e1bb8 100644
|
||||
index afdf04f8b22ad0b7c0b41675e44687b49c2f86d6..2621e54879e9ab0029a875f1d09eee67878b90d5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
|
||||
@@ -49,6 +49,7 @@ public class PurpurCommand extends Command {
|
||||
PurpurConfig.init((File) console.options.valueOf("purpur-settings"));
|
||||
for (ServerLevel level : console.getAllLevels()) {
|
||||
level().purpurConfig.init();
|
||||
level.purpurConfig.init();
|
||||
+ level.resetBreedingCooldowns();
|
||||
}
|
||||
console.server.reloadCount++;
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Phantom flames on swoop
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 776602b545f5ee3b566787befb0f43075ce02a29..29167ec21bc68e43c6505b6b1ee376d75a43c1ef 100644
|
||||
index 899a7d3989b51456600787ae09b1736f83bf9a65..076a881412d40ce6a8f5e5f83f7598bfa08f199c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -244,6 +244,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -243,6 +243,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
this.level().addParticle(ParticleTypes.MYCELIUM, this.getX() - (double) f2, this.getY() + (double) f4, this.getZ() - (double) f3, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
|
||||
|
@ -823,10 +823,10 @@ index b472309f97b24f1d7b97d8b6d464c479c2d602d5..e0ebc4c2d8dd718ce78d981a1d099e74
|
||||
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 5511075728e3a2db213d9c4faf90f0fba255044c..7a5429bc117137989efe322eca092ad26869bb82 100644
|
||||
index 076a881412d40ce6a8f5e5f83f7598bfa08f199c..7c9f6076f68de295e882e69137ac573db8d9698b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -138,6 +138,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -137,6 +137,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Allow infinity on crossbows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java
|
||||
index a433910fb4d0bd8d7b6b0d66c8fc88d62a0e4879..795803bbb89e8f19a308ece7b5d1359da1538519 100644
|
||||
index a433910fb4d0bd8d7b6b0d66c8fc88d62a0e4879..ae6ba3c0a7722674b304291f643960b0a58fca57 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java
|
||||
@@ -114,7 +114,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable {
|
||||
@ -13,7 +13,7 @@ index a433910fb4d0bd8d7b6b0d66c8fc88d62a0e4879..795803bbb89e8f19a308ece7b5d1359d
|
||||
int i = EnchantmentHelper.getItemEnchantmentLevel(Enchantments.MULTISHOT, crossbow);
|
||||
int j = i == 0 ? 1 : 3;
|
||||
- boolean flag = !consume || shooter instanceof Player && ((Player) shooter).getAbilities().instabuild; // Paper - add consume
|
||||
+ boolean flag = !consume || shooter instanceof Player && ((Player) shooter).getAbilities().instabuild || (org.purpurmc.purpur.PurpurConfig.allowCrossbowInfinity && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY_ARROWS, projectile) > 0); // Paper - add consume // Purpur
|
||||
+ boolean flag = !consume || shooter instanceof Player && ((Player) shooter).getAbilities().instabuild || (org.purpurmc.purpur.PurpurConfig.allowCrossbowInfinity && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.INFINITY_ARROWS, crossbow) > 0); // Paper - add consume // Purpur
|
||||
ItemStack itemstack1 = shooter.getProjectile(crossbow);
|
||||
ItemStack itemstack2 = itemstack1.copy();
|
||||
|
||||
|
@ -48,7 +48,7 @@ index 6b4f6866d075d52ca9a8fe024b070a6183591cdd..e93a619dcd06a2cb65c0d6c4bb4ef36a
|
||||
public boolean llamaRidable = false;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/ai/ReceiveFlower.java b/src/main/java/org/purpurmc/purpur/entity/ai/ReceiveFlower.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..115a3b36cbb7716b28ef940a29ca97ac42a8a521
|
||||
index 0000000000000000000000000000000000000000..9660716f4162a4441c6e1b0baddef8f5086566c5
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/ai/ReceiveFlower.java
|
||||
@@ -0,0 +1,91 @@
|
||||
@ -88,7 +88,7 @@ index 0000000000000000000000000000000000000000..115a3b36cbb7716b28ef940a29ca97ac
|
||||
+ if (uuid == null) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ Entity target = ((ServerLevel) this.irongolem.level).getEntity(uuid);
|
||||
+ Entity target = ((ServerLevel) this.irongolem.level()).getEntity(uuid);
|
||||
+ if (!(target instanceof ServerPlayer player)) {
|
||||
+ return false;
|
||||
+ }
|
||||
|
@ -212,7 +212,7 @@ index 31706620960f5f153565f3cf64e32d0f4d10feb8..1df39e11d4fe3146fba9a0605c623384
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 0894335fd9057184bb4f3ba5765ceec9d02828f7..85026b498f25c38653bf3b52061497419c9512d0 100644
|
||||
index 7c9f6076f68de295e882e69137ac573db8d9698b..8605dfe152a09f31492226b1eb2a5eb39db9fcbc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -60,6 +60,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@ -223,7 +223,7 @@ index 0894335fd9057184bb4f3ba5765ceec9d02828f7..85026b498f25c38653bf3b5206149741
|
||||
}
|
||||
|
||||
// Purpur start
|
||||
@@ -254,16 +255,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -253,16 +254,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@ -241,7 +241,7 @@ index 0894335fd9057184bb4f3ba5765ceec9d02828f7..85026b498f25c38653bf3b5206149741
|
||||
super.aiStep();
|
||||
}
|
||||
|
||||
@@ -291,7 +283,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -290,7 +282,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
if (nbt.hasUUID("Paper.SpawningEntity")) {
|
||||
this.spawningEntity = nbt.getUUID("Paper.SpawningEntity");
|
||||
}
|
||||
@ -250,7 +250,7 @@ index 0894335fd9057184bb4f3ba5765ceec9d02828f7..85026b498f25c38653bf3b5206149741
|
||||
this.shouldBurnInDay = nbt.getBoolean("Paper.ShouldBurnInDay");
|
||||
}
|
||||
// Paper end
|
||||
@@ -308,7 +300,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -307,7 +299,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
if (this.spawningEntity != null) {
|
||||
nbt.putUUID("Paper.SpawningEntity", this.spawningEntity);
|
||||
}
|
||||
@ -259,7 +259,7 @@ index 0894335fd9057184bb4f3ba5765ceec9d02828f7..85026b498f25c38653bf3b5206149741
|
||||
// Paper end
|
||||
}
|
||||
|
||||
@@ -374,8 +366,14 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -373,8 +365,14 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
}
|
||||
public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; }
|
||||
|
||||
@ -269,7 +269,7 @@ index 0894335fd9057184bb4f3ba5765ceec9d02828f7..85026b498f25c38653bf3b5206149741
|
||||
+ // Purpur start
|
||||
+ public boolean shouldBurnInDay() {
|
||||
+ boolean burnFromDaylight = this.shouldBurnInDay && this.level().purpurConfig.phantomBurnInDaylight;
|
||||
+ boolean burnFromLightSource = this.level().purpurConfig.phantomBurnInLight > 0 && this.level.getMaxLocalRawBrightness(blockPosition()) >= this.level().purpurConfig.phantomBurnInLight;
|
||||
+ boolean burnFromLightSource = this.level().purpurConfig.phantomBurnInLight > 0 && this.level().getMaxLocalRawBrightness(blockPosition()) >= this.level().purpurConfig.phantomBurnInLight;
|
||||
+ return burnFromDaylight || burnFromLightSource;
|
||||
+ }
|
||||
+ // Purpur End
|
||||
|
@ -174,7 +174,7 @@ index d38b3c4a722396cc3b61a9a8ed7e39cea4ae65cb..d333334f323049ca97e756324cff0b23
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/task/CompassTask.java b/src/main/java/org/purpurmc/purpur/task/CompassTask.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..d7bc40f8f678c75c964d26ac98689c7866a2ef9d
|
||||
index 0000000000000000000000000000000000000000..bece7eefc8ba8822b433835526251d2fb916c025
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/task/CompassTask.java
|
||||
@@ -0,0 +1,68 @@
|
||||
@ -207,7 +207,7 @@ index 0000000000000000000000000000000000000000..d7bc40f8f678c75c964d26ac98689c78
|
||||
+ tick = 0;
|
||||
+
|
||||
+ MinecraftServer.getServer().getAllLevels().forEach((level) -> {
|
||||
+ if (level().purpurConfig.compassItemShowsBossBar) {
|
||||
+ if (level.purpurConfig.compassItemShowsBossBar) {
|
||||
+ level.players().forEach(player -> {
|
||||
+ if (!player.compassBar()) {
|
||||
+ if (player.getMainHandItem().getItem() != Items.COMPASS && player.getOffhandItem().getItem() != Items.COMPASS) {
|
||||
|
@ -373,7 +373,7 @@ index b16d075581a352714f86f1b87805f24c9e336aa3..87b6f6b10ba6e3d9c6a42298a2019a52
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 5c2fc833dac13dd8b959f035abb74432ec6c82c9..bcc6d50aed60d1255fbdbfb7b9494b52300a7e3a 100644
|
||||
index 9f8891a3eacf461071ce7ad2a277c78048171d51..7787b121def6525642672dfd67fae9ac0e010f52 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -115,6 +115,11 @@ public class Turtle extends Animal {
|
||||
@ -645,7 +645,7 @@ index b494d5689beb19d621f5d7c9c22d84e12d303fa0..b30f13d2a7198f568bc36c0d974fd6dc
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index f9bc9e2d57111b6260b5303fa2dbc405ef9835a2..10b2708a1067cba489aca17c5e8713139c623cdc 100644
|
||||
index 8db82eaa2355b15aa78fc9500368acf2c7f75ffc..1cb816cee305969d4215ef2baa1a255b1c88d6e5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -114,6 +114,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@ -789,10 +789,10 @@ index e0ebc4c2d8dd718ce78d981a1d099e7482221f1f..1ad97267394d3717b1871336193cdc91
|
||||
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 85026b498f25c38653bf3b52061497419c9512d0..c3b9878de5ac74b9a1aaa77030edb4a2b53586c3 100644
|
||||
index 8605dfe152a09f31492226b1eb2a5eb39db9fcbc..f71cbaabfff370f019f124203fb947ea7a817d95 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -144,6 +144,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -143,6 +143,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
return this.level().purpurConfig.phantomTakeDamageFromWater;
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ index c4a88ef1cc23b0f7b3fe50019441535bae1a1b64..1041e8e24e03ce46824f6b0f4fca6fc0
|
||||
this.hasLoggedStop = true; // Paper
|
||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index cd663643c38e787b06e7bc9cf74d9f78431ca988..9eeda0276b4a6f444e7fd2afee7a2c62ad58e0cd 100644
|
||||
index 0b2c90fc95889502636e7a4f95aa62bd11c89e7a..4b9cf94e24bc583f7bef593e6e8fd70e5564ca38 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -373,6 +373,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@ -30,7 +30,7 @@ index cd663643c38e787b06e7bc9cf74d9f78431ca988..9eeda0276b4a6f444e7fd2afee7a2c62
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/task/BeehiveTask.java b/src/main/java/org/purpurmc/purpur/task/BeehiveTask.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..055dd307e9d5ac0d4623c961164c84bab1edd3bd
|
||||
index 0000000000000000000000000000000000000000..2ebbaf5faa92a88bfb4d61298951e5b74157d1e1
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/task/BeehiveTask.java
|
||||
@@ -0,0 +1,81 @@
|
||||
@ -91,7 +91,7 @@ index 0000000000000000000000000000000000000000..055dd307e9d5ac0d4623c961164c84ba
|
||||
+
|
||||
+ ServerPlayer serverPlayer = ((CraftPlayer) player).getHandle();
|
||||
+
|
||||
+ BlockEntity blockEntity = serverPlayer.level.getBlockEntity(pos);
|
||||
+ BlockEntity blockEntity = serverPlayer.level().getBlockEntity(pos);
|
||||
+ if (!(blockEntity instanceof BeehiveBlockEntity beehive)) {
|
||||
+ return;
|
||||
+ }
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Configurable phantom size
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index c3b9878de5ac74b9a1aaa77030edb4a2b53586c3..85adeb1c4061d95c53359331256dbbd19670524e 100644
|
||||
index f71cbaabfff370f019f124203fb947ea7a817d95..17638b9d3340c86528a8ae597712c7590b98dba6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -272,7 +272,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -271,7 +271,11 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
this.anchorPoint = this.blockPosition().above(5);
|
||||
|
@ -51,7 +51,7 @@ index b16d9e2eaa589f19c563ee70b1a56d67dbcdecb0..71beab673f04cd051c46ea37f8c84731
|
||||
public static final FoodProperties BAKED_POTATO = (new FoodProperties.Builder()).nutrition(5).saturationMod(0.6F).build();
|
||||
public static final FoodProperties BEEF = (new FoodProperties.Builder()).nutrition(3).saturationMod(0.3F).meat().build();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||
index 31f5ed9dd1727eee24804a384817d2b76a45676b..6e25f5765f169f9b3f48bf5ca3f7e6eb31e1af82 100644
|
||||
index 31f5ed9dd1727eee24804a384817d2b76a45676b..5fbb13ebef0ca66419f3e5006d19e4a5918a038a 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||
@@ -1309,6 +1309,13 @@ public class Items {
|
||||
@ -60,8 +60,8 @@ index 31f5ed9dd1727eee24804a384817d2b76a45676b..6e25f5765f169f9b3f48bf5ca3f7e6eb
|
||||
|
||||
+ // Purpur start
|
||||
+ if (item.getFoodProperties() != null) {
|
||||
+ Foods.ALL_PROPERTIES.put(key.location().toString(), item.getFoodProperties());
|
||||
+ Foods.DEFAULT_PROPERTIES.put(key.location().toString(), item.getFoodProperties().copy());
|
||||
+ Foods.ALL_PROPERTIES.put(key.location().getPath(), item.getFoodProperties());
|
||||
+ Foods.DEFAULT_PROPERTIES.put(key.location().getPath(), item.getFoodProperties().copy());
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
|
@ -244,7 +244,7 @@ index 4b9cf94e24bc583f7bef593e6e8fd70e5564ca38..f7238261f9797d127ff6e5dcdd62dd20
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 3bf565ce5110e38366523e0a383ac00cc6c4351a..f60c8dbe8d6e04a19450a6cc1f3b2a27ca3ba2db 100644
|
||||
index 3bf565ce5110e38366523e0a383ac00cc6c4351a..914c75bb1fb761d93a43b5f80ba0831afcaf0668 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -620,15 +620,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@ -267,6 +267,35 @@ index 3bf565ce5110e38366523e0a383ac00cc6c4351a..f60c8dbe8d6e04a19450a6cc1f3b2a27
|
||||
}
|
||||
|
||||
gameprofilerfiller.pop();
|
||||
@@ -1250,24 +1250,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
|
||||
// Paper start - optimised tracker
|
||||
private final void processTrackQueue() {
|
||||
- this.level.timings.tracker1.startTiming();
|
||||
+ //this.level.timings.tracker1.startTiming(); // Purpur
|
||||
try {
|
||||
for (TrackedEntity tracker : this.entityMap.values()) {
|
||||
// update tracker entry
|
||||
tracker.updatePlayers(tracker.entity.getPlayersInTrackRange());
|
||||
}
|
||||
} finally {
|
||||
- this.level.timings.tracker1.stopTiming();
|
||||
+ //this.level.timings.tracker1.stopTiming(); // Purpur
|
||||
}
|
||||
|
||||
|
||||
- this.level.timings.tracker2.startTiming();
|
||||
+ //this.level.timings.tracker2.startTiming(); // Purpur
|
||||
try {
|
||||
for (TrackedEntity tracker : this.entityMap.values()) {
|
||||
tracker.serverEntity.sendChanges();
|
||||
}
|
||||
} finally {
|
||||
- this.level.timings.tracker2.stopTiming();
|
||||
+ //this.level.timings.tracker2.stopTiming(); Purpur
|
||||
}
|
||||
}
|
||||
// Paper end - optimised tracker
|
||||
@@ -1282,7 +1282,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
List<ServerPlayer> list = Lists.newArrayList();
|
||||
List<ServerPlayer> list1 = this.level.players();
|
||||
|
@ -388,7 +388,7 @@ index aa3f4ca3be843616d34897e41909255f512f8963..426ac5faa9344472560fb20bdea8bdc3
|
||||
|
||||
++j;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index f60c8dbe8d6e04a19450a6cc1f3b2a27ca3ba2db..7fb00407b75603cf6ff63f1fd1f3e020524caf82 100644
|
||||
index 914c75bb1fb761d93a43b5f80ba0831afcaf0668..3a29bccd7c203de904f041b6469e990fbbdd0ad4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -618,20 +618,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@ -1792,9 +1792,24 @@ index 4e2611c9a7df8343f76e3be3f01f2f828cdf8a1d..03fc9c6ef0fb320924038f2730c6f084
|
||||
|
||||
// Paper start
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index 5de3b6cd73a45348d0feba858d96a500bf236ce7..d7b8b8250564831ab3e84043292e48f058698a93 100644
|
||||
index 5de3b6cd73a45348d0feba858d96a500bf236ce7..f4849ed39a7da7454a611d0d9f1a828286121c1c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -538,11 +538,11 @@ public class LevelChunk extends ChunkAccess {
|
||||
if (LightEngine.hasDifferentLightProperties(this, blockposition, iblockdata1, iblockdata)) {
|
||||
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
||||
|
||||
- gameprofilerfiller.push("updateSkyLightSources");
|
||||
+ //gameprofilerfiller.push("updateSkyLightSources"); // Purpur
|
||||
this.skyLightSources.update(this, j, i, l);
|
||||
- gameprofilerfiller.popPush("queueCheckLight");
|
||||
+ //gameprofilerfiller.popPush("queueCheckLight"); // Purpur
|
||||
this.level.getChunkSource().getLightEngine().checkBlock(blockposition);
|
||||
- gameprofilerfiller.pop();
|
||||
+ //gameprofilerfiller.pop(); // Purpur
|
||||
}
|
||||
|
||||
boolean flag3 = iblockdata1.hasBlockEntity();
|
||||
@@ -1256,9 +1256,9 @@ public class LevelChunk extends ChunkAccess {
|
||||
|
||||
if (LevelChunk.this.isTicking(blockposition)) {
|
||||
|
@ -4,51 +4,19 @@ Date: Fri, 23 Sep 2022 18:41:05 -0700
|
||||
Subject: [PATCH] Add death screen API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
||||
index 76a62d872bc2ad12efd9522d8dd445b8d2342525..075a891413d072998e6d468e76d839e1a3bf7da9 100644
|
||||
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
||||
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
|
||||
@@ -7,6 +7,7 @@ import net.minecraft.network.protocol.Packet;
|
||||
public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacketListener> {
|
||||
private final int playerId;
|
||||
private final Component message;
|
||||
+ public net.kyori.adventure.text.Component adventure$message; // Purpur
|
||||
|
||||
public ClientboundPlayerCombatKillPacket(int entityId, Component message) {
|
||||
this.playerId = entityId;
|
||||
@@ -21,6 +22,12 @@ public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacke
|
||||
@Override
|
||||
public void write(FriendlyByteBuf buf) {
|
||||
buf.writeVarInt(this.playerId);
|
||||
+ // Purpur start
|
||||
+ if (this.adventure$message != null) {
|
||||
+ buf.writeComponent(this.adventure$message);
|
||||
+ return;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
buf.writeComponent(this.message);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index bfab934938bc0650fd6cbf0b551edecbbaf37404..bcd26a48a9fe3443eed943a3b131c1d5eb3da345 100644
|
||||
index bfab934938bc0650fd6cbf0b551edecbbaf37404..f6d102cacbe50f6cc5f947de341ec0475d02472a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3254,5 +3254,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3254,5 +3254,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
if (this.getHandle().connection == null) return;
|
||||
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer())));
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public void sendDeathScreen(net.kyori.adventure.text.Component message) {
|
||||
+ sendDeathScreen(message, null);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void sendDeathScreen(net.kyori.adventure.text.Component message, org.bukkit.entity.Entity killer) {
|
||||
+ if (this.getHandle().connection == null) return;
|
||||
+ net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket packet = new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), killer == null ? -1 : killer.getEntityId(), null);
|
||||
+ packet.adventure$message = message;
|
||||
+ this.getHandle().connection.send(packet);
|
||||
+ this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message)));
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ index 0000000000000000000000000000000000000000..2852c07adb080c34905f5d1b19efed8e
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/command/RamCommand.java b/src/main/java/org/purpurmc/purpur/command/RamCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..4ea0877f92b6733035d83a186c3d02c101c9b6cd
|
||||
index 0000000000000000000000000000000000000000..992f8dfc628c7485e335191e1308cdfd4eedfbe8
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/command/RamCommand.java
|
||||
@@ -0,0 +1,30 @@
|
||||
@ -189,7 +189,7 @@ index 0000000000000000000000000000000000000000..4ea0877f92b6733035d83a186c3d02c1
|
||||
+ .executes(context -> {
|
||||
+ CommandSourceStack sender = context.getSource();
|
||||
+ RamBarTask ramBar = RamBarTask.instance();
|
||||
+ sender.sendSuccess(PaperAdventure.asVanilla(MiniMessage.miniMessage().deserialize(PurpurConfig.ramCommandOutput,
|
||||
+ sender.sendSuccess(() -> PaperAdventure.asVanilla(MiniMessage.miniMessage().deserialize(PurpurConfig.ramCommandOutput,
|
||||
+ Placeholder.component("allocated", ramBar.format(ramBar.getAllocated())),
|
||||
+ Placeholder.component("used", ramBar.format(ramBar.getUsed())),
|
||||
+ Placeholder.component("xmx", ramBar.format(ramBar.getXmx())),
|
||||
|
3
todo.txt
3
todo.txt
@ -1,5 +1,2 @@
|
||||
* make sure that all mobs are in entity attributes and ridables (some from previous updates weren't added to attributes)
|
||||
* check sulker spawn from bullet options matches original design
|
||||
* configurable food atributes check `key.location().toString()` still works
|
||||
* merge pufferfish fixes into one
|
||||
* test allow transparent blocks in enchanting box
|
||||
|
Loading…
Reference in New Issue
Block a user