mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
override the correct BlockPlayerDestroy method
This commit is contained in:
@@ -18,7 +18,7 @@ index 5f20e075c532f0f1d413242949d1738c0c152bf7..e6f8cb165f7e3da5f0edfc952d140595
|
|||||||
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
||||||
public static final Item FARMLAND = registerBlock(Blocks.FARMLAND);
|
public static final Item FARMLAND = registerBlock(Blocks.FARMLAND);
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
index 936d844a5a246138c9f9ae4ae6e318242b8f1420..d58dc4aa02fe371deaf879df8692dbe93c648f9b 100644
|
index 936d844a5a246138c9f9ae4ae6e318242b8f1420..93f5f226cf6fd6110e4daa02b3f5d9ad253814a0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
@@ -40,6 +40,58 @@ public class SpawnerBlock extends BaseEntityBlock {
|
@@ -40,6 +40,58 @@ public class SpawnerBlock extends BaseEntityBlock {
|
||||||
@@ -27,7 +27,7 @@ index 936d844a5a246138c9f9ae4ae6e318242b8f1420..d58dc4aa02fe371deaf879df8692dbe9
|
|||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void playerDestroy(Level level, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, BlockEntity blockEntity, ItemStack stack) {
|
+ public void playerDestroy(Level level, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, BlockEntity blockEntity, ItemStack stack, boolean includeDrops) {
|
||||||
+ if (level.purpurConfig.silkTouchEnabled && player.getBukkitEntity().hasPermission("purpur.drop.spawners") && isSilkTouch(level, stack)) {
|
+ if (level.purpurConfig.silkTouchEnabled && player.getBukkitEntity().hasPermission("purpur.drop.spawners") && isSilkTouch(level, stack)) {
|
||||||
+ Optional<net.minecraft.world.entity.EntityType<?>> type = net.minecraft.world.entity.EntityType.by(((SpawnerBlockEntity) blockEntity).getSpawner().nextSpawnData.getEntityToSpawn());
|
+ Optional<net.minecraft.world.entity.EntityType<?>> type = net.minecraft.world.entity.EntityType.by(((SpawnerBlockEntity) blockEntity).getSpawner().nextSpawnData.getEntityToSpawn());
|
||||||
+
|
+
|
||||||
@@ -69,7 +69,7 @@ index 936d844a5a246138c9f9ae4ae6e318242b8f1420..d58dc4aa02fe371deaf879df8692dbe9
|
|||||||
+
|
+
|
||||||
+ popResource(level, pos, item);
|
+ popResource(level, pos, item);
|
||||||
+ }
|
+ }
|
||||||
+ super.playerDestroy(level, player, pos, state, blockEntity, stack);
|
+ super.playerDestroy(level, player, pos, state, blockEntity, stack, includeDrops);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private boolean isSilkTouch(Level level, ItemStack stack) {
|
+ private boolean isSilkTouch(Level level, ItemStack stack) {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ index 03fde6e47c4a347c62fe9b4a3351769aedf874f6..ca906b0250e5332f7ececf1419ca6d2c
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||||
index 373fda589014c71c07170ec6707d5ff66d46ddd5..7bebae9b1eb97fb595fb90e7d4b0aacc93413ac3 100644
|
index 373fda589014c71c07170ec6707d5ff66d46ddd5..26b3f162f25bed3e9d8001e3d9c2f8d7d4b3e08a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||||
@@ -203,4 +203,15 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
@@ -203,4 +203,15 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
||||||
@@ -44,17 +44,17 @@ index 373fda589014c71c07170ec6707d5ff66d46ddd5..7bebae9b1eb97fb595fb90e7d4b0aacc
|
|||||||
+
|
+
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void playerDestroy(Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand) {
|
+ public void playerDestroy(Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand, boolean includeDrops) {
|
||||||
+ if (world.purpurConfig.hoeReplantsCrops && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
+ if (world.purpurConfig.hoeReplantsCrops && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
||||||
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, getBaseSeedId());
|
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, getBaseSeedId());
|
||||||
+ } else {
|
+ } else {
|
||||||
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand);
|
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
index e55720c4d2fbdf6aae526910e87a67c29cf906fd..0e4026e9d39735b840f12e59f84469b9acc2fc77 100644
|
index e55720c4d2fbdf6aae526910e87a67c29cf906fd..74fedd3e401c6d58c03c0579f4b919114404fd78 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
@@ -60,4 +60,15 @@ public class NetherWartBlock extends BushBlock {
|
@@ -60,4 +60,15 @@ public class NetherWartBlock extends BushBlock {
|
||||||
@@ -64,11 +64,11 @@ index e55720c4d2fbdf6aae526910e87a67c29cf906fd..0e4026e9d39735b840f12e59f84469b9
|
|||||||
+
|
+
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void playerDestroy(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand) {
|
+ public void playerDestroy(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand, boolean includeDrops) {
|
||||||
+ if (world.purpurConfig.hoeReplantsNetherWarts && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
+ if (world.purpurConfig.hoeReplantsNetherWarts && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
||||||
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, Items.NETHER_WART);
|
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, Items.NETHER_WART);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand);
|
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ index c2ca3432a47124d02e1aaf8ffb621f9a2c7d7a62..0d5f87d24231f6d2b8639825bcd62dd2
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
index 0e4026e9d39735b840f12e59f84469b9acc2fc77..bf4485b4cad324d5aace657ebf284c4d97197f53 100644
|
index 74fedd3e401c6d58c03c0579f4b919114404fd78..4310d62c45c776eea81987809309da08c242c7b0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
@@ -14,7 +14,7 @@ import net.minecraft.world.level.block.state.properties.IntegerProperty;
|
@@ -14,7 +14,7 @@ import net.minecraft.world.level.block.state.properties.IntegerProperty;
|
||||||
@@ -66,7 +66,7 @@ index 0e4026e9d39735b840f12e59f84469b9acc2fc77..bf4485b4cad324d5aace657ebf284c4d
|
|||||||
public static final int MAX_AGE = 3;
|
public static final int MAX_AGE = 3;
|
||||||
public static final IntegerProperty AGE = BlockStateProperties.AGE_3;
|
public static final IntegerProperty AGE = BlockStateProperties.AGE_3;
|
||||||
@@ -70,5 +70,22 @@ public class NetherWartBlock extends BushBlock {
|
@@ -70,5 +70,22 @@ public class NetherWartBlock extends BushBlock {
|
||||||
super.playerDestroy(world, player, pos, state, blockEntity, itemInHand);
|
super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
|
|||||||
Reference in New Issue
Block a user