Controllable minecarts fall damage option and slow down in air fix

This commit is contained in:
William Blake Galbreath
2020-10-11 00:38:59 -05:00
parent d9c0631024
commit 5026a3145b
54 changed files with 227 additions and 201 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Controllable Minecarts
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
index 2291135ea..bc61aaff6 100644
index 2291135eae..bc61aaff65 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -36,6 +36,12 @@ public class BlockPosition extends BaseBlockPosition {
@@ -22,7 +22,7 @@ index 2291135ea..bc61aaff6 100644
super(i, j, k);
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 76575ea5f..c8b1fbcf1 100644
index ff412471c8..c5b4ee6ed3 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -99,9 +99,9 @@ public abstract class EntityLiving extends Entity {
@@ -39,14 +39,16 @@ index 76575ea5f..c8b1fbcf1 100644
protected double aV;
protected double aW;
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index 13fcb666e..d5e129678 100644
index 9bc21ef8a1..a39b596afb 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -445,12 +445,50 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -445,16 +445,62 @@ public abstract class EntityMinecartAbstract extends Entity {
public void a(int i, int j, int k, boolean flag) {}
+ // Purpur start
+ private Double lastSpeed;
+
+ public double getControllableSpeed() {
+ BlockPosition position = new BlockPosition(this);
+ Block block = world.getType(position).getBlock();
@@ -54,10 +56,12 @@ index 13fcb666e..d5e129678 100644
+ block = world.getType(position.shift(EnumDirection.DOWN)).getBlock();
+ }
+ Double speed = world.purpurConfig.controllableMinecartsBlockSpeeds.get(block);
+ if (speed == null) {
+ if (!block.material.isSolid()) {
+ speed = lastSpeed;
+ } else if (speed == null) {
+ speed = world.purpurConfig.controllableMinecartsBaseSpeed;
+ }
+ return speed;
+ return lastSpeed = speed;
+ }
+ // Purpur end
+
@@ -66,35 +70,55 @@ index 13fcb666e..d5e129678 100644
Vec3D vec3d = this.getMot();
this.setMot(MathHelper.a(vec3d.x, -d0, d0), vec3d.y, MathHelper.a(vec3d.z, -d0, d0));
if (this.onGround) {
+ // Purpur start
+ if (world.purpurConfig.controllableMinecarts && !isInWater() && !isInLava() && !passengers.isEmpty()) {
+ Entity passenger = passengers.get(0);
+ if (passenger instanceof EntityHuman) {
+ EntityHuman entityhuman = (EntityHuman) passenger;
+ if (entityhuman.jumping) {
+ Vec3D mot = getMot();
+ setMot(mot.x, world.purpurConfig.controllableMinecartsHopBoost, mot.z);
+ }
+ if (entityhuman.getForward() != 0.0F) {
+ Vector dir = entityhuman.getBukkitEntity().getEyeLocation().getDirection().normalize().multiply(getControllableSpeed());
+ if (entityhuman.getForward() < 0.0) {
+ dir.multiply(-0.5);
+ }
+ setMot(new Vec3D(dir.getX(), getMot().y, dir.getZ()));
+ setStepHeight(world.purpurConfig.controllableMinecartsStepHeight);
+ } else {
+ setStepHeight(0.0F);
+ }
+ this.yaw = passenger.yaw - 90;
+
+ // Purpur start
+ if (world.purpurConfig.controllableMinecarts && !isInWater() && !isInLava() && !passengers.isEmpty()) {
+ Entity passenger = passengers.get(0);
+ if (passenger instanceof EntityHuman) {
+ EntityHuman entityhuman = (EntityHuman) passenger;
+ if (entityhuman.jumping && this.onGround) {
+ setMot(new Vec3D(getMot().x, world.purpurConfig.controllableMinecartsHopBoost, getMot().z));
+ }
+ if (entityhuman.getForward() != 0.0F) {
+ Vector velocity = entityhuman.getBukkitEntity().getEyeLocation().getDirection().normalize().multiply(getControllableSpeed());
+ if (entityhuman.getForward() < 0.0) {
+ velocity.multiply(-0.5);
+ }
+ setMot(new Vec3D(velocity.getX(), getMot().y, velocity.getZ()));
+ }
+ this.yaw = passenger.yaw - 90;
+ setStepHeight(world.purpurConfig.controllableMinecartsStepHeight);
+ } else {
+ setStepHeight(0.0F);
+ }
+ // Purpur end
+ } else {
+ setStepHeight(0.0F);
+ }
+ // Purpur end
+
if (this.onGround) {
// CraftBukkit start - replace magic numbers with our variables
this.setMot(new Vec3D(this.getMot().x * this.derailedX, this.getMot().y * this.derailedY, this.getMot().z * this.derailedZ));
// CraftBukkit end
}
+ else if (world.purpurConfig.controllableMinecarts) setMot(new Vec3D(getMot().x * derailedX, getMot().y, getMot().z * derailedZ)); // Purpur
this.move(EnumMoveType.SELF, this.getMot());
if (!this.onGround) {
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index b59b52633a..3c7313591f 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -819,6 +819,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
if (this.isInvulnerable(damagesource)) {
return false;
} else {
+ if (damagesource == DamageSource.FALL && getRootVehicle() instanceof EntityMinecartAbstract && world.purpurConfig.controllableMinecarts && !world.purpurConfig.controllableMinecartsFallDamage) return false; // Purpur
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java
index ceef7aaf9..002651aaf 100644
index ceef7aaf92..002651aaf3 100644
--- a/src/main/java/net/minecraft/server/ItemMinecart.java
+++ b/src/main/java/net/minecraft/server/ItemMinecart.java
@@ -103,8 +103,10 @@ public class ItemMinecart extends Item {
@@ -119,7 +143,7 @@ index ceef7aaf9..002651aaf 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2763cc943..e54d071dd 100644
index 2763cc943a..e490a561c6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,5 +1,7 @@
@@ -141,7 +165,7 @@ index 2763cc943..e54d071dd 100644
import static net.pl3x.purpur.PurpurConfig.log;
public class PurpurWorldConfig {
@@ -68,6 +73,32 @@ public class PurpurWorldConfig {
@@ -68,6 +73,34 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}
@@ -149,6 +173,7 @@ index 2763cc943..e54d071dd 100644
+ public boolean controllableMinecartsPlaceAnywhere = false;
+ public float controllableMinecartsStepHeight = 1.0F;
+ public double controllableMinecartsHopBoost = 0.5D;
+ public boolean controllableMinecartsFallDamage = true;
+ public double controllableMinecartsBaseSpeed = 0.1D;
+ public Map<Block, Double> controllableMinecartsBlockSpeeds = new HashMap<>();
+ private void controllableMinecartsSettings() {
@@ -156,6 +181,7 @@ index 2763cc943..e54d071dd 100644
+ controllableMinecartsPlaceAnywhere = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", controllableMinecartsPlaceAnywhere);
+ controllableMinecartsStepHeight = (float) getDouble("gameplay-mechanics.controllable-minecarts.step-height", controllableMinecartsStepHeight);
+ controllableMinecartsHopBoost = getDouble("gameplay-mechanics.controllable-minecarts.hop-boost", controllableMinecartsHopBoost);
+ controllableMinecartsFallDamage = getBoolean("gameplay-mechanics.controllable-minecarts.fall-damage", controllableMinecartsFallDamage);
+ controllableMinecartsBaseSpeed = getDouble("gameplay-mechanics.controllable-minecarts.base-speed", controllableMinecartsBaseSpeed);
+ ConfigurationSection section = getConfigurationSection("gameplay-mechanics.controllable-minecarts.block-speed");
+ if (section != null) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index c8b1fbcf1..d9c19f8f5 100644
index c5b4ee6ed3..75005b00d3 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1485,8 +1485,10 @@ public abstract class EntityLiving extends Entity {
@@ -20,10 +20,10 @@ index c8b1fbcf1..d9c19f8f5 100644
// CraftBukkit start - Call death event
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e54d071dd..a12a55dc9 100644
index e490a561c6..a1dc171252 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -110,6 +110,11 @@ public class PurpurWorldConfig {
@@ -112,6 +112,11 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 698a2623b..a99429080 100644
index 3c7313591f..fb11882362 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1220,7 +1220,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1221,7 +1221,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@Override
public boolean isInvulnerable(DamageSource damagesource) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to toggle milk curing bad omen
diff --git a/src/main/java/net/minecraft/server/ItemMilkBucket.java b/src/main/java/net/minecraft/server/ItemMilkBucket.java
index fcf254bba..79554e18f 100644
index fcf254bbae..79554e18fc 100644
--- a/src/main/java/net/minecraft/server/ItemMilkBucket.java
+++ b/src/main/java/net/minecraft/server/ItemMilkBucket.java
@@ -20,7 +20,9 @@ public class ItemMilkBucket extends Item {
@@ -19,10 +19,10 @@ index fcf254bba..79554e18f 100644
return itemstack.isEmpty() ? new ItemStack(Items.BUCKET) : itemstack;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a12a55dc9..883614746 100644
index a1dc171252..4d74d2d051 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -111,8 +111,10 @@ public class PurpurWorldConfig {
@@ -113,8 +113,10 @@ public class PurpurWorldConfig {
}
public boolean disableDropsOnCrammingDeath = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add wither skeleton takes wither damage option
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
index 1ae9910fe..c872be77a 100644
index 1ae9910fef..c872be77a6 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
@@ -97,6 +97,6 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract {
@@ -17,10 +17,10 @@ index 1ae9910fe..c872be77a 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 883614746..355df16d2 100644
index 4d74d2d051..9353264c53 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -270,6 +270,11 @@ public class PurpurWorldConfig {
@@ -272,6 +272,11 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to allow loyalty on tridents to work in the void
diff --git a/src/main/java/net/minecraft/server/EntityThrownTrident.java b/src/main/java/net/minecraft/server/EntityThrownTrident.java
index a3150bd1c..b24b8c39d 100644
index a3150bd1ce..b24b8c39d3 100644
--- a/src/main/java/net/minecraft/server/EntityThrownTrident.java
+++ b/src/main/java/net/minecraft/server/EntityThrownTrident.java
@@ -38,7 +38,7 @@ public class EntityThrownTrident extends EntityArrow {
@@ -18,10 +18,10 @@ index a3150bd1c..b24b8c39d 100644
if (b0 > 0 && !this.z()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 355df16d2..ae7de565c 100644
index 9353264c53..646d3ae33d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -112,9 +112,11 @@ public class PurpurWorldConfig {
@@ -114,9 +114,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 8338afa7c..013639cc9 100644
index 8338afa7ca..013639cc90 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -215,7 +215,7 @@ public class EntityCreeper extends EntityMonster {
@@ -18,7 +18,7 @@ index 8338afa7c..013639cc9 100644
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
index 03176e83a..b45a75a45 100644
index 03176e83ae..b45a75a451 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -369,6 +369,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
@@ -47,10 +47,10 @@ index 03176e83a..b45a75a45 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ae7de565c..c1e511bad 100644
index 646d3ae33d..cc99d6d67d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -190,8 +190,10 @@ public class PurpurWorldConfig {
@@ -192,8 +192,10 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
}
@@ -61,7 +61,7 @@ index ae7de565c..c1e511bad 100644
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
}
@@ -202,6 +204,11 @@ public class PurpurWorldConfig {
@@ -204,6 +206,11 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index be23120a2..57d8936a9 100644
index 7c58c82388..a13b52cc3b 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -542,7 +542,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -18,10 +18,10 @@ index be23120a2..57d8936a9 100644
Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c1e511bad..0008c4b12 100644
index cc99d6d67d..1900cf3177 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -111,10 +111,12 @@ public class PurpurWorldConfig {
@@ -113,10 +113,12 @@ public class PurpurWorldConfig {
}
public boolean disableDropsOnCrammingDeath = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Villagers farming can bypass mob-griefing gamerule
diff --git a/src/main/java/net/minecraft/server/BehaviorFarm.java b/src/main/java/net/minecraft/server/BehaviorFarm.java
index 54a555509..0ff202c0d 100644
index 54a555509e..0ff202c0d7 100644
--- a/src/main/java/net/minecraft/server/BehaviorFarm.java
+++ b/src/main/java/net/minecraft/server/BehaviorFarm.java
@@ -18,7 +18,7 @@ public class BehaviorFarm extends Behavior<EntityVillager> {
@@ -18,10 +18,10 @@ index 54a555509..0ff202c0d 100644
} else if (entityvillager.getVillagerData().getProfession() != VillagerProfession.FARMER) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0008c4b12..a2f9ac730 100644
index 1900cf3177..51c8cdc1fb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -276,9 +276,11 @@ public class PurpurWorldConfig {
@@ -278,9 +278,11 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Villagers follow emerald blocks
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index f880a38bf..1fbba526c 100644
index f880a38bf6..1fbba526c5 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -74,6 +74,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -23,7 +23,7 @@ index f880a38bf..1fbba526c 100644
public BehaviorController<EntityVillager> getBehaviorController() {
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
index ced893452..a96533e0c 100644
index ced893452e..a96533e0c1 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
@@ -14,6 +14,8 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
@@ -36,7 +36,7 @@ index ced893452..a96533e0c 100644
private CraftMerchant craftMerchant;
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
index f1a509063..74c2d89af 100644
index f1a509063c..74c2d89af5 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -40,6 +40,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
@@ -48,10 +48,10 @@ index f1a509063..74c2d89af 100644
this.goalSelector.a(8, new PathfinderGoalRandomStrollLand(this, 0.35D));
this.goalSelector.a(9, new PathfinderGoalInteract(this, EntityHuman.class, 3.0F, 1.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a2f9ac730..5826c2985 100644
index 51c8cdc1fb..e44082511f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -277,10 +277,17 @@ public class PurpurWorldConfig {
@@ -279,10 +279,17 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false;

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index ff23ca2a1..71644c3d9 100644
index ff23ca2a1d..71644c3d99 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -892,6 +892,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -18,10 +18,10 @@ index ff23ca2a1..71644c3d9 100644
for (int i = 0; i < 10; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 077860df8..11b4eac48 100644
index 5bdc0cb4ee..478e6af841 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -279,12 +279,16 @@ public class PurpurWorldConfig {
@@ -281,12 +281,16 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false;

View File

@@ -59,10 +59,10 @@ index 29930e801c..ffab239192 100644
protected boolean f() {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 11b4eac48c..d88d120474 100644
index 478e6af841..ba9a634be3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -156,6 +156,13 @@ public class PurpurWorldConfig {
@@ -158,6 +158,13 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -18,10 +18,10 @@ index ffab239192..d981aa5a5f 100644
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d88d120474..b95732e598 100644
index ba9a634be3..7c9f8d018b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -158,9 +158,13 @@ public class PurpurWorldConfig {
@@ -160,9 +160,13 @@ public class PurpurWorldConfig {
public boolean lavaInfinite = false;
public int lavaInfiniteRequiredSources = 2;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add player death exp control options
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index eb62555cb..48f9feaea 100644
index eb62555cb2..48f9feaea1 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -85,6 +85,8 @@ public abstract class EntityHuman extends EntityLiving {
@@ -40,10 +40,10 @@ index eb62555cb..48f9feaea 100644
return 0;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7c27696eb..4c43444cb 100644
index 7c9f8d018b..1f5c4f592a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -121,6 +121,13 @@ public class PurpurWorldConfig {
@@ -123,6 +123,13 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable saving projectiles to disk
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index c2adc7f52..24a6102b3 100644
index c2adc7f522..24a6102b37 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -489,6 +489,7 @@ public class ChunkRegionLoader {
@@ -17,10 +17,10 @@ index c2adc7f52..24a6102b3 100644
// Paper start
if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index d978f2b08..204d9e004 100644
index 27b7f44786..73698ac51c 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -306,6 +306,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -308,6 +308,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size);
}
@@ -34,7 +34,7 @@ index d978f2b08..204d9e004 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java
index 08da58677..3ff61434c 100644
index 08da58677a..3ff61434c3 100644
--- a/src/main/java/net/minecraft/server/EntityEnderSignal.java
+++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java
@@ -19,6 +19,13 @@ public class EntityEnderSignal extends Entity {
@@ -52,7 +52,7 @@ index 08da58677..3ff61434c 100644
if (true || itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) { // CraftBukkit - always allow item changing
this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java
index 9f5ce64a6..0bac6b050 100644
index 9f5ce64a60..0bac6b0506 100644
--- a/src/main/java/net/minecraft/server/IProjectile.java
+++ b/src/main/java/net/minecraft/server/IProjectile.java
@@ -18,6 +18,13 @@ public abstract class IProjectile extends Entity {
@@ -70,10 +70,10 @@ index 9f5ce64a6..0bac6b050 100644
if (entity != null) {
this.shooter = entity.getUniqueID();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4c43444cb..839fead62 100644
index 1f5c4f592a..aba2b63ecb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -113,11 +113,13 @@ public class PurpurWorldConfig {
@@ -115,11 +115,13 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean milkCuresBadOmen = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index bb9ceadc5..872fc34d9 100644
index 73698ac51c..d862f88528 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -611,7 +611,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -18,10 +18,10 @@ index bb9ceadc5..872fc34d9 100644
&& this.locY() >= world.paperConfig.netherVoidTopDamageHeight)) {
this.doVoidDamage();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 839fead62..4466f21ba 100644
index aba2b63ecb..feb23696e0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -115,12 +115,14 @@ public class PurpurWorldConfig {
@@ -117,12 +117,14 @@ public class PurpurWorldConfig {
public boolean milkCuresBadOmen = true;
public boolean saveProjectilesToDisk = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 3460b0f5a..fc1a1bc74 100644
index 5e8ab7106f..78ee45767a 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -986,6 +986,13 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -23,7 +23,7 @@ index 3460b0f5a..fc1a1bc74 100644
Item item = itemstack.getItem();
diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java
index 669a50411..7cd2e871b 100644
index 669a504118..7cd2e871b5 100644
--- a/src/main/java/net/minecraft/server/ItemArmor.java
+++ b/src/main/java/net/minecraft/server/ItemArmor.java
@@ -35,7 +35,7 @@ public class ItemArmor extends Item implements ItemWearable {
@@ -44,10 +44,10 @@ index 669a50411..7cd2e871b 100644
return this.b;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4466f21ba..a37b76ea9 100644
index feb23696e0..bb67d48e6c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -162,6 +162,11 @@ public class PurpurWorldConfig {
@@ -164,6 +164,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option for boats to eject players on land
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index 7df2837d6..0f25d7cd6 100644
index 5d14c235b4..8d55946517 100644
--- a/src/main/java/net/minecraft/server/EntityBoat.java
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
@@ -440,6 +440,7 @@ public class EntityBoat extends Entity {
@@ -17,10 +17,10 @@ index 7df2837d6..0f25d7cd6 100644
} else {
return EntityBoat.EnumStatus.IN_AIR;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a37b76ea9..0c2913073 100644
index bb67d48e6c..899dc46636 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -110,6 +110,7 @@ public class PurpurWorldConfig {
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}
@@ -28,7 +28,7 @@ index a37b76ea9..0c2913073 100644
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean milkCuresBadOmen = true;
@@ -117,6 +118,7 @@ public class PurpurWorldConfig {
@@ -119,6 +120,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
private void miscGameplayMechanicsSettings() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Mending mends most damages equipment first
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
index b6b0460de..2bf518f41 100644
index b6b0460de9..2bf518f413 100644
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
@@ -251,7 +251,30 @@ public class EnchantmentManager {
@@ -41,7 +41,7 @@ index b6b0460de..2bf518f41 100644
return a(enchantment, entityliving, (itemstack) -> {
return true;
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index e33a42dcd..e053f9c37 100644
index e33a42dcd5..e053f9c376 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -220,7 +220,7 @@ public class EntityExperienceOrb extends Entity {
@@ -54,7 +54,7 @@ index e33a42dcd..e053f9c37 100644
if (entry != null) {
ItemStack itemstack = (ItemStack) entry.getValue();
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 2c908a604..6a9b7e609 100644
index 2c908a6040..6a9b7e6094 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -418,10 +418,19 @@ public final class ItemStack {
@@ -78,10 +78,10 @@ index 2c908a604..6a9b7e609 100644
return this.tag == null ? 0 : this.tag.getInt("Damage");
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0c2913073..32e87b6ff 100644
index 899dc46636..5abbc03d87 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -110,6 +110,7 @@ public class PurpurWorldConfig {
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}
@@ -89,7 +89,7 @@ index 0c2913073..32e87b6ff 100644
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -118,6 +119,7 @@ public class PurpurWorldConfig {
@@ -120,6 +121,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
private void miscGameplayMechanicsSettings() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement bamboo growth settings
diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java
index f208ab509..ce56edb7c 100644
index f208ab5098..ce56edb7c8 100644
--- a/src/main/java/net/minecraft/server/BlockBamboo.java
+++ b/src/main/java/net/minecraft/server/BlockBamboo.java
@@ -99,7 +99,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
@@ -63,10 +63,10 @@ index f208ab509..ce56edb7c 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 32e87b6ff..27438136d 100644
index 5abbc03d87..c95040b1dd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -166,6 +166,13 @@ public class PurpurWorldConfig {
@@ -168,6 +168,13 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 872fc34d9..f945565c7 100644
index d862f88528..8dc40e8159 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1698,6 +1698,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -22,7 +22,7 @@ index 872fc34d9..f945565c7 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index ab5d61848..484a5261c 100644
index ab5d61848d..484a5261c3 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -35,7 +35,7 @@ index ab5d61848..484a5261c 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index af67cf868..f230d84fa 100644
index af67cf8683..f230d84faa 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient {
@@ -48,7 +48,7 @@ index af67cf868..f230d84fa 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index 8d5594651..d8d4b6abf 100644
index 8d55946517..d8d4b6abf3 100644
--- a/src/main/java/net/minecraft/server/EntityBoat.java
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
@@ -106,7 +106,7 @@ public class EntityBoat extends Entity {
@@ -61,7 +61,7 @@ index 8d5594651..d8d4b6abf 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index 9f74d6e88..c7757f9d0 100644
index 9f74d6e887..c7757f9d0a 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -74,7 +74,7 @@ index 9f74d6e88..c7757f9d0 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 3193e7172..8346d8f3d 100644
index 3193e71723..8346d8f3dd 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2866,7 +2866,7 @@ public abstract class EntityLiving extends Entity {
@@ -103,7 +103,7 @@ index 3193e7172..8346d8f3d 100644
// CraftBukkit start - collidable API
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index 44eabc4ee..d6cb8becc 100644
index a39b596afb..ca54db4b8f 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -116,7 +116,7 @@ index 44eabc4ee..d6cb8becc 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
index 34e08dda2..6bb73f869 100644
index 34e08dda2e..6bb73f869b 100644
--- a/src/main/java/net/minecraft/server/EntityParrot.java
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
@@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
@@ -131,10 +131,10 @@ index 34e08dda2..6bb73f869 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 1f41d101e..e30dbf51d 100644
index fb11882362..3524f231a1 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1772,8 +1772,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1773,8 +1773,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
}
@Override
@@ -146,7 +146,7 @@ index 1f41d101e..e30dbf51d 100644
// Purpur end
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index c8e384ab6..44fb1e1f7 100644
index c8e384ab69..44fb1e1f77 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -45,11 +45,17 @@ public final class IEntitySelector {
@@ -169,10 +169,10 @@ index c8e384ab6..44fb1e1f7 100644
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ey())) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 27438136d..76c8ecda5 100644
index c95040b1dd..4670cf7909 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {
@@ -116,6 +116,7 @@ public class PurpurWorldConfig {
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -180,7 +180,7 @@ index 27438136d..76c8ecda5 100644
public boolean milkCuresBadOmen = true;
public boolean saveProjectilesToDisk = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -123,6 +124,7 @@ public class PurpurWorldConfig {
@@ -125,6 +126,7 @@ public class PurpurWorldConfig {
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 8346d8f3d..45a297938 100644
index 8346d8f3dd..45a2979380 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2837,7 +2837,16 @@ public abstract class EntityLiving extends Entity {
@@ -27,7 +27,7 @@ index 8346d8f3d..45a297938 100644
});
}
diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java
index 885c03f62..3a33ad181 100644
index 885c03f62d..3a33ad181e 100644
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
@@ -39,6 +39,14 @@ public class ItemFireworks extends Item {
@@ -46,7 +46,7 @@ index 885c03f62..3a33ad181 100644
itemstack.subtract(1);
} else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 6a9b7e609..40f553e39 100644
index 6a9b7e6094..40f553e395 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -450,7 +450,7 @@ public final class ItemStack {
@@ -72,7 +72,7 @@ index 6a9b7e609..40f553e39 100644
if (this.count == 1 && t0 instanceof EntityHuman) {
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((EntityHuman) t0, this);
diff --git a/src/main/java/net/minecraft/server/ItemTrident.java b/src/main/java/net/minecraft/server/ItemTrident.java
index 3663b7017..18f767dc5 100644
index 3663b70173..18f767dc57 100644
--- a/src/main/java/net/minecraft/server/ItemTrident.java
+++ b/src/main/java/net/minecraft/server/ItemTrident.java
@@ -102,6 +102,16 @@ public class ItemTrident extends Item implements ItemVanishable {
@@ -93,10 +93,10 @@ index 3663b7017..18f767dc5 100644
entityhuman.r(20);
if (entityhuman.isOnGround()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 76c8ecda5..607157312 100644
index 4670cf7909..d0e410ad53 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -131,6 +131,19 @@ public class PurpurWorldConfig {
@@ -133,6 +133,19 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f945565c7..875b08207 100644
index 8dc40e8159..53b297247e 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1449,6 +1449,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -17,7 +17,7 @@ index f945565c7..875b08207 100644
return this.O == tag;
}
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index bc4f84c88..b6cb52c10 100644
index bc4f84c885..b6cb52c10a 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -23,6 +23,8 @@ public class EntityItem extends Entity {
@@ -68,7 +68,7 @@ index bc4f84c88..b6cb52c10 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index aea72b0db..29731da08 100644
index aea72b0db1..29731da08d 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -106,6 +106,15 @@ public class EntityTrackerEntry {
@@ -88,10 +88,10 @@ index aea72b0db..29731da08 100644
int i;
int j;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 607157312..401489cab 100644
index d0e410ad53..59f5e91df4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -99,6 +99,21 @@ public class PurpurWorldConfig {
@@ -101,6 +101,21 @@ public class PurpurWorldConfig {
}
}
@@ -114,7 +114,7 @@ index 607157312..401489cab 100644
public boolean idleTimeoutTickNearbyEntities = true;
public boolean idleTimeoutCountAsSleeping = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index cb756b1ba..59b51f94e 100644
index cb756b1ba0..59b51f94e2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -94,4 +94,26 @@ public class CraftItem extends CraftEntity implements Item {

View File

@@ -193,10 +193,10 @@ index b52b8d0d84..69e98dcebe 100644
protected void initDatawatcher() {
super.initDatawatcher();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f2be296132..c1ebb0de18 100644
index 59f5e91df4..37829231e5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -267,6 +267,15 @@ public class PurpurWorldConfig {
@@ -269,6 +269,15 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
}
@@ -212,7 +212,7 @@ index f2be296132..c1ebb0de18 100644
public boolean enderDragonAlwaysDropsEggBlock = false;
public boolean enderDragonAlwaysDropsFullExp = false;
private void enderDragonSettings() {
@@ -301,6 +310,15 @@ public class PurpurWorldConfig {
@@ -303,6 +312,15 @@ public class PurpurWorldConfig {
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
}
@@ -228,7 +228,7 @@ index f2be296132..c1ebb0de18 100644
public double illusionerMaxHealth = 32.0D;
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
@@ -371,8 +389,35 @@ public class PurpurWorldConfig {
@@ -373,8 +391,35 @@ public class PurpurWorldConfig {
witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage);
}

View File

@@ -17,7 +17,7 @@ index 6fe5678cff..bd0267ee4b 100644
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 04ad775cbd..d7ac23524a 100644
index 53b297247e..08ceba1559 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1574,6 +1574,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -329,10 +329,10 @@ index 3a70900c73..92704a0789 100644
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c1ebb0de18..66ab460583 100644
index 37829231e5..34fbf95966 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -333,6 +333,15 @@ public class PurpurWorldConfig {
@@ -335,6 +335,15 @@ public class PurpurWorldConfig {
ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
}

View File

@@ -26,10 +26,10 @@ index 0e74794d3a..d617b5345d 100644
return EntityInsentient.p().a(GenericAttributes.MAX_HEALTH, 200.0D);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 66ab460583..6828041e9d 100644
index 34fbf95966..47204751d7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -278,9 +278,11 @@ public class PurpurWorldConfig {
@@ -280,9 +280,11 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsEggBlock = false;
public boolean enderDragonAlwaysDropsFullExp = false;

View File

@@ -245,10 +245,10 @@ index 856f422e58..63f2dee384 100644
public int c() {
return this.d;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6828041e9d..f61c1ce30d 100644
index 47204751d7..43342fcc60 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -338,10 +338,34 @@ public class PurpurWorldConfig {
@@ -340,10 +340,34 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement bed explosion options
diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java
index d28c1a67e..c37225202 100644
index d28c1a67ec..c37225202f 100644
--- a/src/main/java/net/minecraft/server/BlockBed.java
+++ b/src/main/java/net/minecraft/server/BlockBed.java
@@ -88,7 +88,7 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity {
@@ -18,7 +18,7 @@ index d28c1a67e..c37225202 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 89782b7d1..a85803fed 100644
index 43342fcc60..f69f38afdf 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -2,6 +2,7 @@ package net.pl3x.purpur;
@@ -37,7 +37,7 @@ index 89782b7d1..a85803fed 100644
import static net.pl3x.purpur.PurpurConfig.log;
@@ -203,6 +205,22 @@ public class PurpurWorldConfig {
@@ -205,6 +207,22 @@ public class PurpurWorldConfig {
bambooSmallHeight = getInt("blocks.bamboo.small-height", bambooSmallHeight);
}

View File

@@ -30,10 +30,10 @@ index 21c5ad83a9..521d161a3d 100644
public static boolean a(World world) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2c5c650e11..c0314fd6e1 100644
index f69f38afdf..294d8d6711 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -242,6 +242,22 @@ public class PurpurWorldConfig {
@@ -244,6 +244,22 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -104,10 +104,10 @@ index de3d692084..f7a4ced160 100644
event = new PlayerInteractEntityEvent((Player) this.getPlayer(), entity.getBukkitEntity(), (packetplayinuseentity.c() == EnumHand.OFF_HAND) ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND);
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c0314fd6e1..de98b45cfa 100644
index 294d8d6711..fca8ef39a9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -101,6 +101,11 @@ public class PurpurWorldConfig {
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -23,10 +23,10 @@ index 45a2979380..ca70050ce0 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index de98b45cfa..5a38ee5bd9 100644
index fca8ef39a9..92a2e907ca 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -180,6 +180,11 @@ public class PurpurWorldConfig {
@@ -182,6 +182,11 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5a38ee5bd9..9c967409ed 100644
index 92a2e907ca..ebc0c4745e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -439,6 +439,11 @@ public class PurpurWorldConfig {
@@ -441,6 +441,11 @@ public class PurpurWorldConfig {
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
}

View File

@@ -70,10 +70,10 @@ index 4c379916d8..ea6b61c9b8 100644
public static final Item dr = a(Blocks.JACK_O_LANTERN, CreativeModeTab.b);
public static final Item ds = a(Blocks.OAK_TRAPDOOR, CreativeModeTab.d);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9c967409ed..eb80f6f878 100644
index ebc0c4745e..ea35ead0f6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -394,6 +394,9 @@ public class PurpurWorldConfig {
@@ -396,6 +396,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -83,7 +83,7 @@ index 9c967409ed..eb80f6f878 100644
private void phantomSettings() {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
@@ -410,6 +413,9 @@ public class PurpurWorldConfig {
@@ -412,6 +415,9 @@ public class PurpurWorldConfig {
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -18,10 +18,10 @@ index 71644c3d99..0467020bbb 100644
private boolean fr() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eb80f6f878..15328f6efe 100644
index ea35ead0f6..c2f425b479 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -457,6 +457,7 @@ public class PurpurWorldConfig {
@@ -459,6 +459,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index eb80f6f878..15328f6efe 100644
private void villagerSettings() {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
@@ -465,6 +466,7 @@ public class PurpurWorldConfig {
@@ -467,6 +468,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -26,10 +26,10 @@ index c2e830db7a..3b4cc9871c 100644
public abstract BlockPosition b();
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 15328f6efe..7a37c63538 100644
index c2f425b479..4c1e8559d9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -276,6 +276,11 @@ public class PurpurWorldConfig {
@@ -278,6 +278,11 @@ public class PurpurWorldConfig {
}

View File

@@ -29,10 +29,10 @@ index ca70050ce0..a2d50a1fef 100644
event.setCancelled(itemstack == null);
this.world.getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7a37c63538..751a937d04 100644
index 4c1e8559d9..6aab11afa2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -185,6 +185,11 @@ public class PurpurWorldConfig {
@@ -187,6 +187,11 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
}

View File

@@ -61,10 +61,10 @@ index 7b8a470d97..d1f9d2884d 100644
static void a(ISourceBlock isourceblock, Entity entity, EnumDirection enumdirection) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bc3c96229f..38a71b2469 100644
index d2ed99e900..bdcb8d52d8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -242,8 +242,10 @@ public class PurpurWorldConfig {
@@ -244,8 +244,10 @@ public class PurpurWorldConfig {
}
public boolean dispenserApplyCursedArmor = true;

View File

@@ -35,10 +35,10 @@ index 4aa6b035a6..5e4e59e5c8 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 38a71b2469..10cefd8547 100644
index bdcb8d52d8..4d54378aa5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -218,6 +218,11 @@ public class PurpurWorldConfig {
@@ -220,6 +220,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -43,7 +43,7 @@ index e2f714382c..34a4ae5ce0 100644
this.nextTickListFluid = new TickListServer<>(this, (fluidtype) -> {
return fluidtype == null || fluidtype == FluidTypes.EMPTY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 10cefd8547..0a9d75e82a 100644
index 4d54378aa5..bc18657172 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -11,8 +11,10 @@ import org.bukkit.configuration.ConfigurationSection;
@@ -57,7 +57,7 @@ index 10cefd8547..0a9d75e82a 100644
import java.util.logging.Level;
import static net.pl3x.purpur.PurpurConfig.log;
@@ -185,6 +187,16 @@ public class PurpurWorldConfig {
@@ -187,6 +189,16 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}

View File

@@ -17,10 +17,10 @@ index b5191eb0b1..cde5c46fee 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0a9d75e82a..a4492d4a5c 100644
index bc18657172..0a50698fa2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -345,6 +345,11 @@ public class PurpurWorldConfig {
@@ -347,6 +347,11 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
}

View File

@@ -26,10 +26,10 @@ index 0467020bbb..7add2fca10 100644
this.by.a(entity.getUniqueID(), ReputationType.MINOR_POSITIVE, 25);
} else if (reputationevent == ReputationEvent.e) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a4492d4a5c..4820b1a6d6 100644
index 0a50698fa2..f9a87d0bff 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -546,9 +546,11 @@ public class PurpurWorldConfig {
@@ -548,9 +548,11 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;

View File

@@ -43,10 +43,10 @@ index 03d707ed09..028a7fe2cd 100644
protected void initPathfinder() {
this.goalSelector.a(0, new EntitySquid.PathfinderGoalSquid(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4820b1a6d6..3fda106ee5 100644
index f9a87d0bff..86a4ce5288 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -485,8 +485,10 @@ public class PurpurWorldConfig {
@@ -487,8 +487,10 @@ public class PurpurWorldConfig {
}
public boolean squidImmuneToEAR = true;

View File

@@ -4959,7 +4959,7 @@ index 8714d1574d..af3739c79a 100644
public static int dungeonSeed = -1;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3fda106ee5..0f1be67e16 100644
index 86a4ce5288..30fdfa6aa5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -42,11 +42,6 @@ public class PurpurWorldConfig {
@@ -4974,7 +4974,7 @@ index 3fda106ee5..0f1be67e16 100644
private ConfigurationSection getConfigurationSection(String path) {
ConfigurationSection section = PurpurConfig.config.getConfigurationSection("world-settings." + worldName + "." + path);
return section != null ? section : PurpurConfig.config.getConfigurationSection("world-settings.default." + path);
@@ -319,65 +314,188 @@ public class PurpurWorldConfig {
@@ -321,65 +316,188 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}
@@ -5163,7 +5163,7 @@ index 3fda106ee5..0f1be67e16 100644
public float giantStepHeight = 2.0F;
public float giantJumpHeight = 1.0F;
public double giantMaxHealth = 100.0D;
@@ -386,6 +504,8 @@ public class PurpurWorldConfig {
@@ -388,6 +506,8 @@ public class PurpurWorldConfig {
public boolean giantHaveAI = false;
public boolean giantHaveHostileAI = false;
private void giantSettings() {
@@ -5172,7 +5172,7 @@ index 3fda106ee5..0f1be67e16 100644
giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight);
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
giantMaxHealth = getDouble("mobs.giant.max-health", giantMaxHealth);
@@ -395,29 +515,119 @@ public class PurpurWorldConfig {
@@ -397,29 +517,119 @@ public class PurpurWorldConfig {
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
}
@@ -5292,7 +5292,7 @@ index 3fda106ee5..0f1be67e16 100644
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -437,6 +647,11 @@ public class PurpurWorldConfig {
@@ -439,6 +649,11 @@ public class PurpurWorldConfig {
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
private void phantomSettings() {
@@ -5304,7 +5304,7 @@ index 3fda106ee5..0f1be67e16 100644
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);
@@ -457,40 +672,184 @@ public class PurpurWorldConfig {
@@ -459,40 +674,184 @@ public class PurpurWorldConfig {
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
}
@@ -5489,7 +5489,7 @@ index 3fda106ee5..0f1be67e16 100644
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerCanBeLeashed = false;
@@ -500,6 +859,8 @@ public class PurpurWorldConfig {
@@ -502,6 +861,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
private void villagerSettings() {
@@ -5498,7 +5498,7 @@ index 3fda106ee5..0f1be67e16 100644
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
@@ -510,46 +871,109 @@ public class PurpurWorldConfig {
@@ -512,46 +873,109 @@ public class PurpurWorldConfig {
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
}

View File

@@ -27,10 +27,10 @@ index 48cd541912..deaa8b8371 100644
public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0f1be67e16..4d6dc69def 100644
index 30fdfa6aa5..039a205045 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -138,6 +138,7 @@ public class PurpurWorldConfig {
@@ -140,6 +140,7 @@ public class PurpurWorldConfig {
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesPickUpLootBypassMobGriefing = false;
@@ -38,7 +38,7 @@ index 0f1be67e16..4d6dc69def 100644
public boolean fixClimbingBypassingCrammingRule = false;
public boolean milkCuresBadOmen = true;
public boolean saveProjectilesToDisk = true;
@@ -148,6 +149,7 @@ public class PurpurWorldConfig {
@@ -150,6 +151,7 @@ public class PurpurWorldConfig {
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);

View File

@@ -53,10 +53,10 @@ index 1054b492c2..2a288d3726 100644
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4d6dc69def..66c9da792c 100644
index 039a205045..c905d95a8c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -903,10 +903,16 @@ public class PurpurWorldConfig {
@@ -905,10 +905,16 @@ public class PurpurWorldConfig {
public boolean witherRidable = false;
public boolean witherRidableInWater = false;
public double witherMaxY = 256D;

View File

@@ -72,7 +72,7 @@ index 34a4ae5ce0..0fb41962c8 100644
this.worldDataServer = (WorldDataServer) iworlddataserver;
worldDataServer.world = this;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 66c9da792c..d8c5e033fc 100644
index c905d95a8c..b360186b3a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -7,6 +7,8 @@ import net.minecraft.server.IRegistry;
@@ -118,7 +118,7 @@ index 66c9da792c..d8c5e033fc 100644
private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -157,6 +168,21 @@ public class PurpurWorldConfig {
@@ -159,6 +170,21 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
}

View File

@@ -52,10 +52,10 @@ index 2193fecab4..515026198c 100644
if (!this.raids.containsKey(raid.getId())) {
this.raids.put(raid.getId(), raid);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d8c5e033fc..6c1038e2d9 100644
index b360186b3a..9e03fd5d89 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -155,6 +155,7 @@ public class PurpurWorldConfig {
@@ -157,6 +157,7 @@ public class PurpurWorldConfig {
public boolean saveProjectilesToDisk = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
@@ -63,7 +63,7 @@ index d8c5e033fc..6c1038e2d9 100644
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -166,6 +167,7 @@ public class PurpurWorldConfig {
@@ -168,6 +169,7 @@ public class PurpurWorldConfig {
saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk);
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);

View File

@@ -300,10 +300,10 @@ index 9a17eb6066..f0b8982893 100644
public boolean checkIfLeftOwner() { return this.h(); } // Purpur - OBFHELPER
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6c1038e2d9..52e6e11a56 100644
index 9e03fd5d89..24b3c7c19c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -145,6 +145,35 @@ public class PurpurWorldConfig {
@@ -147,6 +147,35 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}

View File

@@ -69,10 +69,10 @@ index d08747c66a..7b2a66d6d3 100644
this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo));
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 52e6e11a56..d6b91bc003 100644
index 24b3c7c19c..b769a54fc3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1000,12 +1000,14 @@ public class PurpurWorldConfig {
@@ -1002,12 +1002,14 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;

View File

@@ -160,10 +160,10 @@ index d32540c88b..13460df026 100644
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d6b91bc003..af7c495da1 100644
index b769a54fc3..400766dc76 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -182,6 +182,7 @@ public class PurpurWorldConfig {
@@ -184,6 +184,7 @@ public class PurpurWorldConfig {
public boolean fixClimbingBypassingCrammingRule = false;
public boolean milkCuresBadOmen = true;
public boolean saveProjectilesToDisk = true;
@@ -171,7 +171,7 @@ index d6b91bc003..af7c495da1 100644
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public int raidCooldownSeconds = 0;
@@ -194,6 +195,7 @@ public class PurpurWorldConfig {
@@ -196,6 +197,7 @@ public class PurpurWorldConfig {
fixClimbingBypassingCrammingRule = getBoolean("gameplay-mechanics.fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
saveProjectilesToDisk = getBoolean("gameplay-mechanics.save-projectiles-to-disk", saveProjectilesToDisk);

View File

@@ -38,10 +38,10 @@ index c9d2461318..aa294a46e4 100644
float f1 = MathHelper.cos(f) * 0.2F;
float f2 = -0.1F + this.b.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index af7c495da1..9c17475a00 100644
index 400766dc76..f063a1a8c7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -861,10 +861,12 @@ public class PurpurWorldConfig {
@@ -863,10 +863,12 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;

View File

@@ -26,10 +26,10 @@ index dd6a93dc78..8241f3dafa 100644
entityhuman.b(StatisticList.ITEM_USED.b(this));
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9c17475a00..39e40e1573 100644
index f063a1a8c7..95d54148ca 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -145,6 +145,15 @@ public class PurpurWorldConfig {
@@ -147,6 +147,15 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
}

View File

@@ -39,10 +39,10 @@ index 9caf6598f8..dbd352bd3f 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 39e40e1573..595a64aee5 100644
index 95d54148ca..3c1bd31b92 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -375,6 +375,11 @@ public class PurpurWorldConfig {
@@ -377,6 +377,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -74,10 +74,10 @@ index 0fb41962c8..86b6442292 100644
public void doMobSpawning(boolean flag, boolean flag1) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 595a64aee5..b7de516378 100644
index 3c1bd31b92..8f94b05373 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -114,6 +114,13 @@ public class PurpurWorldConfig {
@@ -116,6 +116,13 @@ public class PurpurWorldConfig {
}
}