mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@4d111a3 Un-experimentalize Entity TP APIs (#9964) PaperMC/Paper@2182d47 Update mapping-io (#9975) PaperMC/Paper@9993eb9 Updates documentation in EntityEquipment.java (#9992) PaperMC/Paper@2184fbc Log correct recipes and advancement count on server start (#9978) PaperMC/Paper@8bda1f7 Remove unnecessary durability check in ItemStack#isSimilar (#9979) PaperMC/Paper@977a729 [ci skip] Correct Windows requiring path to gradlew (#9976) PaperMC/Paper@3766afa [ci skip] Add mention of FQ imports (#9994) PaperMC/Paper@40872ec Fix CraftMetaItem#addAttributeModifier duplication check (#9995) PaperMC/Paper@ffa4115 Configurable Dry and Wet Farmland Tick Rates (#9968) PaperMC/Paper@37bee09 Restore vanilla entity drops behavior (#7650) PaperMC/Paper@5cbd535 Fix Mushroom cow stew api (#9934) PaperMC/Paper@8e061ce Add Structure check API (#9062) PaperMC/Paper@9271ee7 Dont resend blocks on interactions (#9413) PaperMC/Paper@931781c [ci skip] rebuild patches
41 lines
2.5 KiB
Diff
41 lines
2.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Mon, 5 Jul 2021 20:23:08 -0500
|
|
Subject: [PATCH] option to disable shulker box items from dropping contents
|
|
when destroyed
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
|
|
index efdf56044396b4ce486948d2c993971f99174a5e..21916ab9bde38ef8383e746f2ce597b0fcb81d9b 100644
|
|
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
|
|
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
|
|
@@ -287,7 +287,7 @@ public class BlockItem extends Item {
|
|
|
|
@Override
|
|
public void onDestroyed(ItemEntity entity) {
|
|
- if (this.block instanceof ShulkerBoxBlock) {
|
|
+ if (this.block instanceof ShulkerBoxBlock && entity.level().purpurConfig.shulkerBoxItemDropContentsWhenDestroyed) {
|
|
ItemStack itemstack = entity.getItem();
|
|
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
|
|
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
index ad40281464ef651b01520f5662d315ed2f84304b..943fcd97ff515fbcc8508344f5094180ba181978 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
@@ -221,6 +221,7 @@ public class PurpurWorldConfig {
|
|
public int enderPearlCooldownCreative = 20;
|
|
public float enderPearlEndermiteChance = 0.05F;
|
|
public int glowBerriesEatGlowDuration = 0;
|
|
+ public boolean shulkerBoxItemDropContentsWhenDestroyed = true;
|
|
private void itemSettings() {
|
|
itemImmuneToCactus.clear();
|
|
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
|
@@ -267,6 +268,7 @@ public class PurpurWorldConfig {
|
|
enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative);
|
|
enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance);
|
|
glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration);
|
|
+ shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed);
|
|
}
|
|
|
|
public double minecartMaxSpeed = 0.4D;
|