mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 00:47:42 +01:00
drop damage-with-frost-walker option - can be done with a datapack
This commit is contained in:
@@ -5,32 +5,29 @@ Subject: [PATCH] Configurable damage settings for magma blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
|
||||
index 02d59789c09f58045fea302ea6f2ee3856114de3..547330eee0cf46fdd3755dc16b38f2d3c2bbff38 100644
|
||||
index 02d59789c09f58045fea302ea6f2ee3856114de3..8072713da7ed8b7a44b63c241050c3a9c16d7b27 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
|
||||
@@ -28,7 +28,8 @@ public class MagmaBlock extends Block {
|
||||
@@ -28,7 +28,7 @@ public class MagmaBlock extends Block {
|
||||
|
||||
@Override
|
||||
public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) {
|
||||
- if (!entity.isSteppingCarefully() && entity instanceof LivingEntity) {
|
||||
+ // && (world.purpurConfig.magmaBlockDamageWithFrostWalker || !EnchantmentHelper.hasFrostWalker((LivingEntity) entity))) { // Purpur // Purpur - TODO: 1-21: check later
|
||||
+ if ((!entity.isSteppingCarefully() || world.purpurConfig.magmaBlockDamageWhenSneaking) && entity instanceof LivingEntity) { // Purpur // Purpur - TODO: 1-21: check later
|
||||
+ if ((!entity.isSteppingCarefully() || world.purpurConfig.magmaBlockDamageWhenSneaking) && entity instanceof LivingEntity) { // Purpur
|
||||
entity.hurt(world.damageSources().hotFloor().directBlock(world, pos), 1.0F); // CraftBukkit
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b32a0729304e17b8f2c71a7b8945c77698f5ae7d..7bf622044a28fa311bf5280ebb9496cc2c2edc18 100644
|
||||
index b32a0729304e17b8f2c71a7b8945c77698f5ae7d..98267802c118bb7b01323cb5b45fae1112574f56 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1007,6 +1007,13 @@ public class PurpurWorldConfig {
|
||||
@@ -1007,6 +1007,11 @@ public class PurpurWorldConfig {
|
||||
pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit);
|
||||
}
|
||||
|
||||
+ public boolean magmaBlockDamageWhenSneaking = false;
|
||||
+ public boolean magmaBlockDamageWithFrostWalker = false;
|
||||
+ private void magmaBlockSettings() {
|
||||
+ magmaBlockDamageWhenSneaking = getBoolean("blocks.magma-block.damage-when-sneaking", magmaBlockDamageWhenSneaking);
|
||||
+ magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker);
|
||||
+ }
|
||||
+
|
||||
public boolean powderSnowBypassMobGriefing = false;
|
||||
|
||||
@@ -94,10 +94,10 @@ index 3f81faffc1a54ab1148c410ef80964d9876e4b77..dfa8bd613c7575338c6bb76234b7cb4a
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0fe2b9ca4f8a558233a8284b3cbfa80be5e6df7f..74fb65e2df979c3583c74d6b4db510b9a2ee483b 100644
|
||||
index 11536cfb4f55cef1e81a12236fb175f86481c731..c9eedca5f131b5c74bace8919d029104194defb6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2496,6 +2496,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2494,6 +2494,7 @@ public class PurpurWorldConfig {
|
||||
public boolean skeletonTakeDamageFromWater = false;
|
||||
public boolean skeletonAlwaysDropExp = false;
|
||||
public double skeletonHeadVisibilityPercent = 0.5D;
|
||||
@@ -105,7 +105,7 @@ index 0fe2b9ca4f8a558233a8284b3cbfa80be5e6df7f..74fb65e2df979c3583c74d6b4db510b9
|
||||
private void skeletonSettings() {
|
||||
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
|
||||
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
|
||||
@@ -2509,6 +2510,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2507,6 +2508,7 @@ public class PurpurWorldConfig {
|
||||
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
|
||||
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
|
||||
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
|
||||
|
||||
@@ -137,10 +137,10 @@ index d47bc2f54c4722a0b8c419b99ee57eb3cb25d750..fdeabdcc781b605d6f3ee18528fd380f
|
||||
+ // Purpur
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 74fb65e2df979c3583c74d6b4db510b9a2ee483b..0cf7abfc6d37dcf127cdb28fe81bcd299eda67e1 100644
|
||||
index c9eedca5f131b5c74bace8919d029104194defb6..8a15744a6fb79be45ca703793ce106eaf2bbc506 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1533,6 +1533,11 @@ public class PurpurWorldConfig {
|
||||
@@ -1531,6 +1531,11 @@ public class PurpurWorldConfig {
|
||||
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index b6b367492ebe2af3e63381bef935c6077f6ddb27..09f34c30d9a03751ed826b26375ac5ae
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0cf7abfc6d37dcf127cdb28fe81bcd299eda67e1..6441a55bda07bacd23918a7cb74cacbfe45688ae 100644
|
||||
index 8a15744a6fb79be45ca703793ce106eaf2bbc506..6306d49a7c3749c358e734133061c0bd6d902218 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1047,6 +1047,11 @@ public class PurpurWorldConfig {
|
||||
@@ -1045,6 +1045,11 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 63cbec52bc4637a0b787cbc22041188691527def..45b09f79a0ae8b7ebdd015d6edfa1fe0
|
||||
org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper
|
||||
if (event.isCancelled()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3ee77eafb36b744035e4eb0cc916ad165f100b13..81d3a0af4da0387fc072c015e04d51b7564f603a 100644
|
||||
index f256365039f8669552feb895c6f7f85f05de7235..aa98a89984182ead3dca5c517c87864c7cdde0bf 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2516,6 +2516,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2514,6 +2514,8 @@ public class PurpurWorldConfig {
|
||||
public boolean skeletonAlwaysDropExp = false;
|
||||
public double skeletonHeadVisibilityPercent = 0.5D;
|
||||
public int skeletonFeedWitherRoses = 0;
|
||||
@@ -30,7 +30,7 @@ index 3ee77eafb36b744035e4eb0cc916ad165f100b13..81d3a0af4da0387fc072c015e04d51b7
|
||||
private void skeletonSettings() {
|
||||
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
|
||||
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
|
||||
@@ -2530,6 +2532,18 @@ public class PurpurWorldConfig {
|
||||
@@ -2528,6 +2530,18 @@ public class PurpurWorldConfig {
|
||||
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
|
||||
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
|
||||
skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses);
|
||||
|
||||
@@ -24,10 +24,10 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index eaf99a0fc84372f12e2c54c9d175072abf1239b4..1c6d34c1d186c561666ac0f3b7e358652e21f1bb 100644
|
||||
index e76fe82819cf0193f124b080c10f11c0596516d0..e44dcc89cb6286125400f6e83a672bcd66654704 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1423,6 +1423,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1421,6 +1421,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperHealthRadius = false;
|
||||
public boolean creeperAlwaysDropExp = false;
|
||||
public double creeperHeadVisibilityPercent = 0.5D;
|
||||
@@ -35,7 +35,7 @@ index eaf99a0fc84372f12e2c54c9d175072abf1239b4..1c6d34c1d186c561666ac0f3b7e35865
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -1441,6 +1442,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1439,6 +1440,7 @@ public class PurpurWorldConfig {
|
||||
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
|
||||
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
|
||||
creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);
|
||||
|
||||
@@ -42,10 +42,10 @@ index 42bd2d9a1528b6210e4dfb56233062fd97c9743b..2a4425d04917b32c7ae5af3e7422c0ba
|
||||
+ // Purpur end - Shears can defuse TNT
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 62328bd56578789dd898b203396d37a76e75f1e4..9e5dfbd8bc8c7dc16dbe1c00ba9420ad338ed671 100644
|
||||
index 8f7fe53477f2abe680cbe7417956021097a22935..0c4fe3ff28782047db138ecf9b7016dca28b93a2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -3281,4 +3281,11 @@ public class PurpurWorldConfig {
|
||||
@@ -3279,4 +3279,11 @@ public class PurpurWorldConfig {
|
||||
cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance);
|
||||
cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index e09ca4aa99f2e58f97159a40e33ed863fa2ae7df..6e866ec44a83ec9064ac3228bd96eb25
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9e5dfbd8bc8c7dc16dbe1c00ba9420ad338ed671..4af55c74a5ad9752f105b7330a32061de217a6e6 100644
|
||||
index 0c4fe3ff28782047db138ecf9b7016dca28b93a2..668ab3cca7bf07738cd85d6186fa26fdb2474541 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2100,6 +2100,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2098,6 +2098,7 @@ public class PurpurWorldConfig {
|
||||
public int ocelotBreedingTicks = 6000;
|
||||
public boolean ocelotTakeDamageFromWater = false;
|
||||
public boolean ocelotAlwaysDropExp = false;
|
||||
@@ -29,7 +29,7 @@ index 9e5dfbd8bc8c7dc16dbe1c00ba9420ad338ed671..4af55c74a5ad9752f105b7330a32061d
|
||||
private void ocelotSettings() {
|
||||
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
|
||||
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
|
||||
@@ -2113,6 +2114,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2111,6 +2112,7 @@ public class PurpurWorldConfig {
|
||||
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
|
||||
ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater);
|
||||
ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp);
|
||||
|
||||
@@ -29,10 +29,10 @@ index 0192b62fd66621a72fcf2f20896647e5950ba993..d079d5492b6ed709b1e0a7d84fb5f8f6
|
||||
piglin.getBrain().eraseMemory(MemoryModuleType.WALK_TARGET);
|
||||
piglin.getNavigation().stop();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 4af55c74a5ad9752f105b7330a32061de217a6e6..07dbd2768b52d3143d65c34adf48884bfde00c4d 100644
|
||||
index 668ab3cca7bf07738cd85d6186fa26fdb2474541..555594d330d5621bf656299aa76f7a85fba46292 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2269,6 +2269,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2267,6 +2267,7 @@ public class PurpurWorldConfig {
|
||||
public int piglinPortalSpawnModifier = 2000;
|
||||
public boolean piglinAlwaysDropExp = false;
|
||||
public double piglinHeadVisibilityPercent = 0.5D;
|
||||
@@ -40,7 +40,7 @@ index 4af55c74a5ad9752f105b7330a32061de217a6e6..07dbd2768b52d3143d65c34adf48884b
|
||||
private void piglinSettings() {
|
||||
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
|
||||
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
|
||||
@@ -2284,6 +2285,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2282,6 +2283,7 @@ public class PurpurWorldConfig {
|
||||
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
|
||||
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
|
||||
piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent);
|
||||
|
||||
@@ -31,10 +31,10 @@ index d5a549f08b98c80a5cf0eef02cb8a389c32dfecb..222c87e80cb089867ce9a7d2dceebe21
|
||||
.collect(Collectors.toSet());
|
||||
Path path = AcquirePoi.findPathToPois(entity, set);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 913ec0b08cbffcbd30579c0925ffa301c9466101..624a7992143431df4d61b89a0da64bdf2ff124ad 100644
|
||||
index 214141c932153d1b5147c94815256246b2615eb9..cfe83c107f84ae55b119ea817a281b23a7dd797f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2898,6 +2898,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2896,6 +2896,8 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerDisplayTradeItem = true;
|
||||
public int villagerSpawnIronGolemRadius = 0;
|
||||
public int villagerSpawnIronGolemLimit = 0;
|
||||
@@ -43,7 +43,7 @@ index 913ec0b08cbffcbd30579c0925ffa301c9466101..624a7992143431df4d61b89a0da64bdf
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -2933,6 +2935,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2931,6 +2933,8 @@ public class PurpurWorldConfig {
|
||||
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);
|
||||
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
|
||||
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
|
||||
|
||||
@@ -18,10 +18,10 @@ index 714a37974e3256913c15193f2bd292fe45072c7f..0c494a8c71e316307af2c0e256ccfd23
|
||||
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 0.4D));
|
||||
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 624a7992143431df4d61b89a0da64bdf2ff124ad..95afa69b30eb67226b23b91d10eb1516181d36d4 100644
|
||||
index cfe83c107f84ae55b119ea817a281b23a7dd797f..8a044e52d63363a8c38dbe23f1c80c85c1bbf72a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2415,6 +2415,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2413,6 +2413,7 @@ public class PurpurWorldConfig {
|
||||
public boolean ravagerTakeDamageFromWater = false;
|
||||
public List<Block> ravagerGriefableBlocks = new ArrayList<>();
|
||||
public boolean ravagerAlwaysDropExp = false;
|
||||
@@ -29,7 +29,7 @@ index 624a7992143431df4d61b89a0da64bdf2ff124ad..95afa69b30eb67226b23b91d10eb1516
|
||||
private void ravagerSettings() {
|
||||
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
|
||||
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
|
||||
@@ -2445,6 +2446,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2443,6 +2444,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
});
|
||||
ravagerAlwaysDropExp = getBoolean("mobs.ravager.always-drop-exp", ravagerAlwaysDropExp);
|
||||
|
||||
Reference in New Issue
Block a user