fix lots of levels

This commit is contained in:
Ben Kerllenevich
2023-06-09 00:49:22 -04:00
parent d20403a6d0
commit 1cfcb9f28e
43 changed files with 301 additions and 248 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Enchantment Table Persists Lapis
diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java
index 0c3c3902e84010684ef703545c1377d8a6f32580..fa3ecf3ca6514dcf957b07c787946cc5d626e15a 100644
index 0c3c3902e84010684ef703545c1377d8a6f32580..dbf825836727a50a7b8dda48c97df8d846e4fd80 100644
--- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java
@@ -38,6 +38,12 @@ import org.bukkit.event.enchantment.PrepareItemEnchantEvent;
@@ -31,7 +31,7 @@ index 0c3c3902e84010684ef703545c1377d8a6f32580..fa3ecf3ca6514dcf957b07c787946cc5
+ public void onClose(CraftHumanEntity who) {
+ super.onClose(who);
+
+ if (who.getHandle().getLevel().purpurConfig.enchantmentTableLapisPersists) {
+ if (who.getHandle().level().purpurConfig.enchantmentTableLapisPersists) {
+ access.execute((level, pos) -> {
+ BlockEntity blockEntity = level.getBlockEntity(pos);
+ if (blockEntity instanceof EnchantmentTableBlockEntity enchantmentTable) {
@@ -50,7 +50,7 @@ index 0c3c3902e84010684ef703545c1377d8a6f32580..fa3ecf3ca6514dcf957b07c787946cc5
+ // Purpur start
+ access.execute((level, pos) -> {
+ if (level().purpurConfig.enchantmentTableLapisPersists) {
+ if (level.purpurConfig.enchantmentTableLapisPersists) {
+ BlockEntity blockEntity = level.getBlockEntity(pos);
+ if (blockEntity instanceof EnchantmentTableBlockEntity enchantmentTable) {
+ this.getSlot(1).set(new ItemStack(Items.LAPIS_LAZULI, enchantmentTable.getLapis()));
@@ -71,7 +71,7 @@ index 0c3c3902e84010684ef703545c1377d8a6f32580..fa3ecf3ca6514dcf957b07c787946cc5
});
}
diff --git a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
index 839b7bc9392906dca384003468746963631fe095..cc065545723c118b454acd91ef9044af36aa3f1b 100644
index 839b7bc9392906dca384003468746963631fe095..286f34eef22a85be3fe9747dc3c3f9a7d51f437c 100644
--- a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
@@ -29,6 +29,8 @@ import net.minecraft.world.level.pathfinder.PathComputationType;
@@ -93,7 +93,7 @@ index 839b7bc9392906dca384003468746963631fe095..cc065545723c118b454acd91ef9044af
+ public void onRemove(BlockState state, Level level, BlockPos pos, BlockState newState, boolean moved) {
+ BlockEntity blockEntity = level.getBlockEntity(pos);
+
+ if (level().purpurConfig.enchantmentTableLapisPersists && blockEntity instanceof EnchantmentTableBlockEntity enchantmentTable) {
+ if (level.purpurConfig.enchantmentTableLapisPersists && blockEntity instanceof EnchantmentTableBlockEntity enchantmentTable) {
+ Containers.dropItemStack(level, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(Items.LAPIS_LAZULI, enchantmentTable.getLapis()));
+ level.updateNeighbourForOutputSignal(pos, this);
+ }
@@ -146,7 +146,7 @@ index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..b7370e64fd0d50e8725d7d5afc30af2e
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fac5a929dec9df57217a9b835910769958d39351..26586904990f39298f7e2a6e1be657a13808fd6d 100644
index 96db7651b416e0654586ddd6bdc46222466accf9..e6da680bca4b9a1ace5229f4c7cd08abb90c4364 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -745,6 +745,11 @@ public class PurpurWorldConfig {