From 7525042e5b88e7e0bda609624c49d957fa53f42d Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 21 Dec 2019 00:46:32 -0600 Subject: [PATCH] Make bees ridable --- patches/server/0010-Integrate-ridables.patch | 193 ++++++++++++++++-- patches/server/0017-Packed-Barrels.patch | 10 +- .../server/0027-Controllable-Minecarts.patch | 12 +- ...-should-not-bypass-cramming-gamerule.patch | 26 +-- .../0045-Implement-elytra-settings.patch | 6 +- .../0054-Option-for-slimes-not-pushable.patch | 10 +- .../server/0080-Implement-infinite-lava.patch | 8 +- ...eck-for-PurpurClient-for-riding-mobs.patch | 10 +- 8 files changed, 212 insertions(+), 63 deletions(-) diff --git a/patches/server/0010-Integrate-ridables.patch b/patches/server/0010-Integrate-ridables.patch index 9287ec119..4b75b471a 100644 --- a/patches/server/0010-Integrate-ridables.patch +++ b/patches/server/0010-Integrate-ridables.patch @@ -1,4 +1,4 @@ -From 3cc19c29cf49905010c819cf8e04b1bac193b7bd Mon Sep 17 00:00:00 2001 +From 84127fe99d1b2d97fbc22300ae017c72fdb0627f Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 30 Apr 2019 19:17:21 -0500 Subject: [PATCH] Integrate ridables @@ -7,7 +7,8 @@ Subject: [PATCH] Integrate ridables .../server/ControllerLookDolphin.java | 4 +- .../java/net/minecraft/server/Entity.java | 37 +++++- .../net/minecraft/server/EntityAgeable.java | 2 +- - .../java/net/minecraft/server/EntityBat.java | 21 +++ + .../java/net/minecraft/server/EntityBat.java | 22 ++++ + .../java/net/minecraft/server/EntityBee.java | 89 ++++++++++++- .../net/minecraft/server/EntityBlaze.java | 15 ++- .../java/net/minecraft/server/EntityCat.java | 21 ++- .../minecraft/server/EntityCaveSpider.java | 1 + @@ -23,7 +24,7 @@ Subject: [PATCH] Integrate ridables .../net/minecraft/server/EntityEvoker.java | 4 +- .../java/net/minecraft/server/EntityFish.java | 25 ++-- .../java/net/minecraft/server/EntityFox.java | 48 +++++-- - .../net/minecraft/server/EntityGhast.java | 6 +- + .../net/minecraft/server/EntityGhast.java | 7 +- .../minecraft/server/EntityGiantZombie.java | 2 + .../net/minecraft/server/EntityGuardian.java | 28 +++- .../minecraft/server/EntityGuardianElder.java | 1 + @@ -32,7 +33,7 @@ Subject: [PATCH] Integrate ridables .../minecraft/server/EntityHorseZombie.java | 6 + .../net/minecraft/server/EntityHuman.java | 14 +- .../server/EntityIllagerIllusioner.java | 2 + - .../minecraft/server/EntityInsentient.java | 51 +++++++- + .../minecraft/server/EntityInsentient.java | 51 ++++++- .../net/minecraft/server/EntityIronGolem.java | 6 +- .../net/minecraft/server/EntityLiving.java | 27 ++-- .../net/minecraft/server/EntityLlama.java | 42 +++++- @@ -40,8 +41,8 @@ Subject: [PATCH] Integrate ridables .../net/minecraft/server/EntityMagmaCube.java | 3 +- .../minecraft/server/EntityMushroomCow.java | 1 + .../net/minecraft/server/EntityOcelot.java | 2 + - .../net/minecraft/server/EntityPanda.java | 29 ++++- - .../net/minecraft/server/EntityParrot.java | 45 ++++++- + .../net/minecraft/server/EntityPanda.java | 29 +++- + .../net/minecraft/server/EntityParrot.java | 46 ++++++- .../net/minecraft/server/EntityPhantom.java | 40 ++++-- .../java/net/minecraft/server/EntityPig.java | 32 ++--- .../net/minecraft/server/EntityPigZombie.java | 6 + @@ -74,16 +75,17 @@ Subject: [PATCH] Integrate ridables .../net/minecraft/server/EntityZombie.java | 2 + .../minecraft/server/EntityZombieHusk.java | 1 + .../server/EntityZombieVillager.java | 3 +- - .../java/net/pl3x/purpur/PurpurConfig.java | 122 ++++++++++++++++++ + src/main/java/net/minecraft/server/Vec3D.java | 1 + + .../java/net/pl3x/purpur/PurpurConfig.java | 124 ++++++++++++++++++ .../purpur/controller/ControllerLookWASD.java | 74 +++++++++++ .../purpur/controller/ControllerMoveWASD.java | 77 +++++++++++ .../controller/ControllerMoveWASDFlying.java | 62 +++++++++ - .../ControllerMoveWASDFlyingWithSpacebar.java | 65 ++++++++++ + .../ControllerMoveWASDFlyingWithSpacebar.java | 65 +++++++++ .../controller/ControllerMoveWASDWater.java | 42 ++++++ .../pathfinder/PathfinderGoalHasRider.java | 20 +++ .../craftbukkit/entity/CraftLivingEntity.java | 10 ++ .../bukkit/craftbukkit/entity/CraftMob.java | 12 ++ - 79 files changed, 1269 insertions(+), 120 deletions(-) + 81 files changed, 1360 insertions(+), 124 deletions(-) create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java @@ -208,21 +210,22 @@ index 3d27f0964..822316a65 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index 34239160b..f83e35f5b 100644 +index 34239160b..b19028fa8 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java -@@ -14,6 +14,10 @@ public class EntityBat extends EntityAmbient { +@@ -14,6 +14,11 @@ public class EntityBat extends EntityAmbient { public EntityBat(EntityTypes entitytypes, World world) { super(entitytypes, world); + // Purpur start + this.moveController = new net.pl3x.purpur.controller.ControllerMoveWASDFlyingWithSpacebar(this, 0.075F); + this.isRidable = net.pl3x.purpur.PurpurConfig.ridableBat; ++ this.canBeRiddenInWater = false; + // Purpur end this.setAsleep(true); } -@@ -95,6 +99,13 @@ public class EntityBat extends EntityAmbient { +@@ -95,6 +100,13 @@ public class EntityBat extends EntityAmbient { @Override protected void mobTick() { @@ -236,7 +239,7 @@ index 34239160b..f83e35f5b 100644 super.mobTick(); BlockPosition blockposition = new BlockPosition(this); BlockPosition blockposition1 = blockposition.up(); -@@ -229,4 +240,14 @@ public class EntityBat extends EntityAmbient { +@@ -229,4 +241,14 @@ public class EntityBat extends EntityAmbient { protected float b(EntityPose entitypose, EntitySize entitysize) { return entitysize.height / 2.0F; } @@ -249,6 +252,136 @@ index 34239160b..f83e35f5b 100644 + world.a(null, 1025, new BlockPosition(this).up(), 0); + } + } ++ // Purpur end + } +diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java +index fb1c0a965..50b353582 100644 +--- a/src/main/java/net/minecraft/server/EntityBee.java ++++ b/src/main/java/net/minecraft/server/EntityBee.java +@@ -1,6 +1,7 @@ + package net.minecraft.server; + + import com.google.common.collect.Lists; ++ + import java.util.Comparator; + import java.util.EnumSet; + import java.util.Iterator; +@@ -36,8 +37,19 @@ public class EntityBee extends EntityAnimal implements EntityBird { + + public EntityBee(EntityTypes entitytypes, World world) { + super(entitytypes, world); +- this.moveController = new ControllerMoveFlying(this, 20, true); +- this.lookController = new EntityBee.j(this); ++ // Purpur start ++ this.moveController = new ControllerMoveWASDBee(this, 256D); ++ this.lookController = new net.pl3x.purpur.controller.ControllerLookWASD(this) { ++ @Override ++ protected void tick() { ++ if (!((EntityBee) entity).isAngry()) { ++ super.tick(); ++ } ++ } ++ }; ++ this.isRidable = net.pl3x.purpur.PurpurConfig.ridableBee; ++ this.canBeRiddenInWater = false; ++ // Purpur end + this.a(PathType.WATER, -1.0F); + this.a(PathType.COCOA, -1.0F); + this.a(PathType.FENCE, -1.0F); +@@ -57,6 +69,7 @@ public class EntityBee extends EntityAnimal implements EntityBird { + + @Override + protected void initPathfinder() { ++ this.goalSelector.a(0, new net.pl3x.purpur.pathfinder.PathfinderGoalHasRider(this)); // Purpur + this.goalSelector.a(0, new EntityBee.b(this, 1.399999976158142D, true)); + this.goalSelector.a(1, new EntityBee.d()); + this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); +@@ -624,12 +637,12 @@ public class EntityBee extends EntityAnimal implements EntityBird { + + @Override + public boolean a() { +- return super.a() && EntityBee.this.isAngry() && !EntityBee.this.hasStung(); ++ return a.getRider() == null && super.a() && EntityBee.this.isAngry() && !EntityBee.this.hasStung(); + } + + @Override + public boolean b() { +- return super.b() && EntityBee.this.isAngry() && !EntityBee.this.hasStung(); ++ return a.getRider() == null && super.b() && EntityBee.this.isAngry() && !EntityBee.this.hasStung(); + } + } + +@@ -1219,4 +1232,72 @@ public class EntityBee extends EntityAnimal implements EntityBird { + + } + } ++ ++ // Purpur start ++ public static class ControllerMoveWASDBee extends ControllerMoveFlying { ++ protected final EntityBee entity; ++ protected final double maxY; ++ protected int tooHighCooldown = 0; ++ ++ public ControllerMoveWASDBee(EntityBee entity, double maxY) { ++ super(entity, 20, true); ++ this.entity = entity; ++ this.maxY = maxY; ++ } ++ ++ // isUpdating ++ @Override ++ public boolean b() { ++ return entity.getRider() != null || super.b(); ++ } ++ ++ // tick ++ @Override ++ public void a() { ++ if (entity.getRider() != null) { ++ tick(entity.getRider()); ++ } else { ++ tick(); ++ } ++ } ++ ++ protected void tick() { ++ super.a(); // tick ++ } ++ ++ protected void tick(EntityHuman rider) { ++ float forward = Math.max(0.0F, rider.getForward()); ++ float vertical = forward == 0.0F ? 0.0F : -(rider.pitch / 90.0F); ++ float strafe = rider.getStrafe(); ++ ++ if (rider.isJumping()) { ++ entity.onSpacebar(); ++ } ++ ++ if (entity.locY() >= maxY || --tooHighCooldown > 0) { ++ tooHighCooldown = 60; ++ entity.setMot(entity.getMot().add(0.0D, -0.05D, 0.0D)); ++ vertical = 0.0F; ++ } ++ ++ float speed = (float) (e = entity.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).getValue()); ++ ++ if (entity.onGround) { ++ speed *= 0.25F; ++ } ++ ++ entity.setSpeed(speed); ++ entity.setVertical(vertical); ++ entity.setStrafe(strafe); ++ entity.setForward(forward); ++ ++ f = entity.getForward(); ++ g = entity.getStrafe(); ++ ++ if (forward == 0 && strafe == 0) { ++ entity.setMot(entity.getMot().multiply(0.95, 0.9, 0.95)); ++ } ++ } ++ } + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBlaze.java b/src/main/java/net/minecraft/server/EntityBlaze.java @@ -914,16 +1047,17 @@ index 45b4db990..e34ca7170 100644 } diff --git a/src/main/java/net/minecraft/server/EntityGhast.java b/src/main/java/net/minecraft/server/EntityGhast.java -index e1c2540d1..ef794fbeb 100644 +index e1c2540d1..562dd6500 100644 --- a/src/main/java/net/minecraft/server/EntityGhast.java +++ b/src/main/java/net/minecraft/server/EntityGhast.java -@@ -10,12 +10,14 @@ public class EntityGhast extends EntityFlying implements IMonster { +@@ -10,12 +10,15 @@ public class EntityGhast extends EntityFlying implements IMonster { public EntityGhast(EntityTypes entitytypes, World world) { super(entitytypes, world); + this.isRidable = net.pl3x.purpur.PurpurConfig.ridableGhast; // Purpur this.f = 5; this.moveController = new EntityGhast.ControllerGhast(this); ++ this.canBeRiddenInWater = false; // Purpur } @Override @@ -932,7 +1066,7 @@ index e1c2540d1..ef794fbeb 100644 this.goalSelector.a(5, new EntityGhast.PathfinderGoalGhastIdleMove(this)); this.goalSelector.a(7, new EntityGhast.PathfinderGoalGhastMoveTowardsTarget(this)); this.goalSelector.a(7, new EntityGhast.PathfinderGoalGhastAttackTarget(this)); -@@ -255,7 +257,7 @@ public class EntityGhast extends EntityFlying implements IMonster { +@@ -255,7 +258,7 @@ public class EntityGhast extends EntityFlying implements IMonster { } } @@ -941,7 +1075,7 @@ index e1c2540d1..ef794fbeb 100644 private final EntityGhast i; private int j; -@@ -266,7 +268,7 @@ public class EntityGhast extends EntityFlying implements IMonster { +@@ -266,7 +269,7 @@ public class EntityGhast extends EntityFlying implements IMonster { } @Override @@ -1603,7 +1737,7 @@ index cd41c80f1..c6afe108c 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java -index 140208761..04f0ef54b 100644 +index 140208761..976b3c127 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java @@ -21,7 +21,7 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @@ -1615,7 +1749,7 @@ index 140208761..04f0ef54b 100644 hashmap.put(EntityTypes.BLAZE, SoundEffects.ENTITY_PARROT_IMITATE_BLAZE); hashmap.put(EntityTypes.CAVE_SPIDER, SoundEffects.ENTITY_PARROT_IMITATE_SPIDER); hashmap.put(EntityTypes.CREEPER, SoundEffects.ENTITY_PARROT_IMITATE_CREEPER); -@@ -62,7 +62,45 @@ public class EntityParrot extends EntityPerchable implements EntityBird { +@@ -62,7 +62,46 @@ public class EntityParrot extends EntityPerchable implements EntityBird { public EntityParrot(EntityTypes entitytypes, World world) { super(entitytypes, world); @@ -1658,11 +1792,12 @@ index 140208761..04f0ef54b 100644 + } + }; + this.isRidable = net.pl3x.purpur.PurpurConfig.ridableParrot; ++ this.canBeRiddenInWater = false; + // Purpur end this.a(PathType.DANGER_FIRE, -1.0F); this.a(PathType.DAMAGE_FIRE, -1.0F); this.a(PathType.COCOA, -1.0F); -@@ -83,8 +121,9 @@ public class EntityParrot extends EntityPerchable implements EntityBird { +@@ -83,8 +122,9 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @Override protected void initPathfinder() { this.goalSit = new PathfinderGoalSit(this); @@ -2708,8 +2843,20 @@ index 8082fa617..0c51c8dea 100644 } } +diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java +index 0c7f094e5..212af252b 100644 +--- a/src/main/java/net/minecraft/server/Vec3D.java ++++ b/src/main/java/net/minecraft/server/Vec3D.java +@@ -89,6 +89,7 @@ public class Vec3D implements IPosition { + return this.d(vec3d.x, vec3d.y, vec3d.z); + } + ++ public Vec3D multiply (double x, double y, double z) { return d(x, y, z); } // Purpur - OBFHELPER + public Vec3D d(double d0, double d1, double d2) { + return new Vec3D(this.x * d0, this.y * d1, this.z * d2); + } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 960361ff7..d3409155e 100644 +index 960361ff7..c4955fae6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -131,6 +131,11 @@ public class PurpurConfig { @@ -2724,12 +2871,13 @@ index 960361ff7..d3409155e 100644 public static int feedMushroomsToCows = 0; private static void cowsSettings() { feedMushroomsToCows = getInt("settings.mobs.cow.feed-mushrooms-for-mooshroom", feedMushroomsToCows); -@@ -151,4 +156,121 @@ public class PurpurConfig { +@@ -151,4 +156,123 @@ public class PurpurConfig { snowmanDropsPumpkin = getBoolean("settings.mobs.snow_golem.drops-pumpkin-when-sheared", snowmanDropsPumpkin); snowmanPumpkinPutBack = getBoolean("settings.mobs.snow_golem.pumpkin-can-be-added-back", snowmanPumpkinPutBack); } + + public static boolean ridableBat = true; ++ public static boolean ridableBee = true; + public static boolean ridableBlaze = true; + public static boolean ridableCat = true; + public static boolean ridableCaveSpider = true; @@ -2788,6 +2936,7 @@ index 960361ff7..d3409155e 100644 + public static boolean ridableZombieVillager = true; + private static void enableRidableMobs() { + ridableBat = getBoolean("settings.ridable.bat", ridableBat); ++ ridableBee = getBoolean("settings.ridable.bee", ridableBee); + ridableBlaze = getBoolean("settings.ridable.blaze", ridableBlaze); + ridableCat = getBoolean("settings.ridable.cat", ridableCat); + ridableCaveSpider = getBoolean("settings.ridable.cave_spider", ridableCaveSpider); diff --git a/patches/server/0017-Packed-Barrels.patch b/patches/server/0017-Packed-Barrels.patch index 263b0d7dc..5cfdea3a4 100644 --- a/patches/server/0017-Packed-Barrels.patch +++ b/patches/server/0017-Packed-Barrels.patch @@ -1,4 +1,4 @@ -From d63d5843f193b635c1b29876ee675f151e252ec8 Mon Sep 17 00:00:00 2001 +From c25c25d42f7a1f4b98c803061e5ad521a039452e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 23 May 2019 21:50:37 -0500 Subject: [PATCH] Packed Barrels @@ -10,7 +10,7 @@ Subject: [PATCH] Packed Barrels 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/TileEntityBarrel.java b/src/main/java/net/minecraft/server/TileEntityBarrel.java -index 1e27abbea0..08dee7518c 100644 +index 1e27abbea..08dee7518 100644 --- a/src/main/java/net/minecraft/server/TileEntityBarrel.java +++ b/src/main/java/net/minecraft/server/TileEntityBarrel.java @@ -54,7 +54,7 @@ public class TileEntityBarrel extends TileEntityLootable { @@ -40,7 +40,7 @@ index 1e27abbea0..08dee7518c 100644 } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 1c89125300..aba4e84117 100644 +index d7da38bf5..2179acffe 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -6,6 +6,7 @@ import org.bukkit.Bukkit; @@ -62,10 +62,10 @@ index 1c89125300..aba4e84117 100644 + } + public static boolean ridableBat = true; + public static boolean ridableBee = true; public static boolean ridableBlaze = true; - public static boolean ridableCat = true; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index b4a7d982eb..49cc721f5c 100644 +index b4a7d982e..49cc721f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -155,6 +155,8 @@ public class CraftContainer extends Container { diff --git a/patches/server/0027-Controllable-Minecarts.patch b/patches/server/0027-Controllable-Minecarts.patch index 4d769eb5a..52ae0e0d0 100644 --- a/patches/server/0027-Controllable-Minecarts.patch +++ b/patches/server/0027-Controllable-Minecarts.patch @@ -1,4 +1,4 @@ -From 3b36fc76fea11aed04a475ccb0b4b33bed9c927f Mon Sep 17 00:00:00 2001 +From ccee67878634f3a7fe20b8946b0a96e4abd4962b Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 29 Jun 2019 02:32:40 -0500 Subject: [PATCH] Controllable Minecarts @@ -11,7 +11,7 @@ Subject: [PATCH] Controllable Minecarts 4 files changed, 75 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 86ce0977df..de8e48b570 100644 +index c40d3b56b..36d11cfdf 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1283,6 +1283,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -23,7 +23,7 @@ index 86ce0977df..de8e48b570 100644 return this.inLava; } diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 4388186db5..5abd8a1819 100644 +index 4388186db..5abd8a181 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -8,6 +8,7 @@ import java.util.List; @@ -86,7 +86,7 @@ index 4388186db5..5abd8a1819 100644 this.setMot(new Vec3D(this.getMot().x * this.derailedX, this.getMot().y * this.derailedY, this.getMot().z * this.derailedZ)); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java -index b73e317fbb..aa2186add7 100644 +index b73e317fb..aa2186add 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 { @@ -111,7 +111,7 @@ index b73e317fbb..aa2186add7 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 5dc8822884..db98b4c3f6 100644 +index 5e416727f..a94169e75 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -1,9 +1,13 @@ @@ -128,7 +128,7 @@ index 5dc8822884..db98b4c3f6 100644 import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.event.inventory.InventoryType; -@@ -311,4 +315,30 @@ public class PurpurConfig { +@@ -313,4 +317,30 @@ public class PurpurConfig { ridableZombiePigman = getBoolean("settings.ridable.zombie_pigman", ridableZombiePigman); ridableZombieVillager = getBoolean("settings.ridable.zombie_villager", ridableZombieVillager); } diff --git a/patches/server/0040-Ladders-should-not-bypass-cramming-gamerule.patch b/patches/server/0040-Ladders-should-not-bypass-cramming-gamerule.patch index e92f85416..42feff59c 100644 --- a/patches/server/0040-Ladders-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0040-Ladders-should-not-bypass-cramming-gamerule.patch @@ -1,4 +1,4 @@ -From 0887ffc6d8fb6ed2bd1488b5ca8b99d0f3d1139e Mon Sep 17 00:00:00 2001 +From a4dcd36d98f5f3a00f5201b777478de3bdf990ab Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 21 Jul 2019 18:06:20 -0500 Subject: [PATCH] Ladders should not bypass cramming gamerule @@ -17,7 +17,7 @@ Subject: [PATCH] Ladders should not bypass cramming gamerule 10 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index de8e48b570..3d18c4eb60 100644 +index 36d11cfdf..dee92e5a7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1508,6 +1508,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -32,7 +32,7 @@ index de8e48b570..3d18c4eb60 100644 } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index e6032e3edc..fc4e12d9af 100644 +index e6032e3ed..fc4e12d9a 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -323,7 +323,7 @@ public class EntityArmorStand extends EntityLiving { @@ -45,10 +45,10 @@ index e6032e3edc..fc4e12d9af 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index f83e35f5ba..ad070687b5 100644 +index b19028fa8..56bdaf0e0 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java -@@ -54,7 +54,7 @@ public class EntityBat extends EntityAmbient { +@@ -55,7 +55,7 @@ public class EntityBat extends EntityAmbient { } @Override @@ -58,7 +58,7 @@ index f83e35f5ba..ad070687b5 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java -index 6a1d32df6e..03624bbd6a 100644 +index 6a1d32df6..03624bbd6 100644 --- a/src/main/java/net/minecraft/server/EntityBoat.java +++ b/src/main/java/net/minecraft/server/EntityBoat.java @@ -98,7 +98,7 @@ public class EntityBoat extends Entity { @@ -71,7 +71,7 @@ index 6a1d32df6e..03624bbd6a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index 5cd46c7475..c02d2afbe0 100644 +index 5cd46c747..c02d2afbe 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 @@ -84,7 +84,7 @@ index 5cd46c7475..c02d2afbe0 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 7a5a1a2d3e..7581316497 100644 +index 7a5a1a2d3..758131649 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2673,7 +2673,7 @@ public abstract class EntityLiving extends Entity { @@ -110,7 +110,7 @@ index 7a5a1a2d3e..7581316497 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 5abd8a1819..2aa8eb4071 100644 +index 5abd8a181..2aa8eb407 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -106,7 +106,7 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -123,10 +123,10 @@ index 5abd8a1819..2aa8eb4071 100644 } diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java -index 04f0ef54b1..e21d075c61 100644 +index 976b3c127..2aa12d83c 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java -@@ -358,7 +358,7 @@ public class EntityParrot extends EntityPerchable implements EntityBird { +@@ -359,7 +359,7 @@ public class EntityParrot extends EntityPerchable implements EntityBird { } @Override @@ -136,7 +136,7 @@ index 04f0ef54b1..e21d075c61 100644 } diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index a2d1ef3602..8d7273a38b 100644 +index a2d1ef360..8d7273a38 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -33,11 +33,16 @@ public final class IEntitySelector { @@ -158,7 +158,7 @@ index a2d1ef3602..8d7273a38b 100644 } else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ec())) { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 1a49dd4d80..f7e1da705d 100644 +index debf152bc..6c4fafaf7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -146,6 +146,11 @@ public class PurpurConfig { diff --git a/patches/server/0045-Implement-elytra-settings.patch b/patches/server/0045-Implement-elytra-settings.patch index 5921a8add..7297a9d47 100644 --- a/patches/server/0045-Implement-elytra-settings.patch +++ b/patches/server/0045-Implement-elytra-settings.patch @@ -1,4 +1,4 @@ -From 24079d34d7c2c8ed404993c937c873cff1b2e606 Mon Sep 17 00:00:00 2001 +From 06041349f67f8fbb0817f243547cceeac61da7fe Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 25 Jul 2019 18:07:37 -0500 Subject: [PATCH] Implement elytra settings @@ -111,10 +111,10 @@ index 1cbaed9da..b7610aaf7 100644 entityhuman.r(20); if (entityhuman.onGround) { diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index 0c7f094e5..dfa2a863a 100644 +index 212af252b..fbc30e6ec 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java -@@ -97,6 +97,7 @@ public class Vec3D implements IPosition { +@@ -98,6 +98,7 @@ public class Vec3D implements IPosition { return (double) MathHelper.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); } diff --git a/patches/server/0054-Option-for-slimes-not-pushable.patch b/patches/server/0054-Option-for-slimes-not-pushable.patch index 28dbe658c..794440687 100644 --- a/patches/server/0054-Option-for-slimes-not-pushable.patch +++ b/patches/server/0054-Option-for-slimes-not-pushable.patch @@ -1,4 +1,4 @@ -From c5da017d13973de5d642a4b972296dbcdcf4ce59 Mon Sep 17 00:00:00 2001 +From be230534a636a8e41534507f33e443d993ee09ad Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 23 Aug 2019 21:56:31 -0500 Subject: [PATCH] Option for slimes not pushable @@ -10,7 +10,7 @@ Subject: [PATCH] Option for slimes not pushable 3 files changed, 32 insertions(+) diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java -index b29525c40d..3a47df79f3 100644 +index b29525c40..3a47df79f 100644 --- a/src/main/java/net/minecraft/server/BlockPiston.java +++ b/src/main/java/net/minecraft/server/BlockPiston.java @@ -10,6 +10,8 @@ import java.util.Map.Entry; @@ -40,7 +40,7 @@ index b29525c40d..3a47df79f3 100644 if (event.isCancelled()) { diff --git a/src/main/java/net/minecraft/server/BlockSlime.java b/src/main/java/net/minecraft/server/BlockSlime.java -index 01f32659d9..52ab86f0b1 100644 +index 01f32659d..52ab86f0b 100644 --- a/src/main/java/net/minecraft/server/BlockSlime.java +++ b/src/main/java/net/minecraft/server/BlockSlime.java @@ -49,4 +49,11 @@ public class BlockSlime extends BlockHalfTransparent { @@ -56,7 +56,7 @@ index 01f32659d9..52ab86f0b1 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index e6a8f9fb84..94ca1e0bcb 100644 +index 9465fc13e..fc0c8f2f4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -278,6 +278,19 @@ public class PurpurConfig { @@ -77,8 +77,8 @@ index e6a8f9fb84..94ca1e0bcb 100644 + } + public static boolean ridableBat = true; + public static boolean ridableBee = true; public static boolean ridableBlaze = true; - public static boolean ridableCat = true; -- 2.24.0.rc1 diff --git a/patches/server/0080-Implement-infinite-lava.patch b/patches/server/0080-Implement-infinite-lava.patch index 896ae27c4..e89d064b8 100644 --- a/patches/server/0080-Implement-infinite-lava.patch +++ b/patches/server/0080-Implement-infinite-lava.patch @@ -1,4 +1,4 @@ -From 4dee2c19e21f815569d565c56d5d7d25c9c5b00a Mon Sep 17 00:00:00 2001 +From 9ac14f1aa323804cd43046ed1c38f83bd55bbc04 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 23 Nov 2019 17:55:42 -0600 Subject: [PATCH] Implement infinite lava @@ -9,7 +9,7 @@ Subject: [PATCH] Implement infinite lava 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/FluidTypeLava.java b/src/main/java/net/minecraft/server/FluidTypeLava.java -index d25368d032..3ce21da824 100644 +index d25368d03..3ce21da82 100644 --- a/src/main/java/net/minecraft/server/FluidTypeLava.java +++ b/src/main/java/net/minecraft/server/FluidTypeLava.java @@ -149,7 +149,7 @@ public abstract class FluidTypeLava extends FluidTypeFlowing { @@ -22,7 +22,7 @@ index d25368d032..3ce21da824 100644 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index d05d69df10..37e9d13886 100644 +index ad8332f0e..fb4276ddf 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -319,6 +319,11 @@ public class PurpurConfig { @@ -35,8 +35,8 @@ index d05d69df10..37e9d13886 100644 + } + public static boolean ridableBat = true; + public static boolean ridableBee = true; public static boolean ridableBlaze = true; - public static boolean ridableCat = true; -- 2.24.0.rc1 diff --git a/patches/server/0091-Check-for-PurpurClient-for-riding-mobs.patch b/patches/server/0091-Check-for-PurpurClient-for-riding-mobs.patch index 1b49f796d..726064374 100644 --- a/patches/server/0091-Check-for-PurpurClient-for-riding-mobs.patch +++ b/patches/server/0091-Check-for-PurpurClient-for-riding-mobs.patch @@ -1,4 +1,4 @@ -From 618e343c928140ff1bae228def0b56576dbfeb1e Mon Sep 17 00:00:00 2001 +From 2f6c2fb4db5eda2d786d13a0894e7e5c5e4bc572 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 19 Dec 2019 18:09:40 -0600 Subject: [PATCH] Check for PurpurClient for riding mobs @@ -67,7 +67,7 @@ index a8e053b9f..6578af934 100644 try { byte[] data = new byte[packetplayincustompayload.data.readableBytes()]; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index efdf01e98..d242fac8c 100644 +index 86600fce0..f381e2ab4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -7,6 +7,7 @@ import net.minecraft.server.IRegistry; @@ -78,15 +78,15 @@ index efdf01e98..d242fac8c 100644 import org.bukkit.command.Command; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.InvalidConfigurationException; -@@ -395,6 +396,7 @@ public class PurpurConfig { +@@ -396,6 +397,7 @@ public class PurpurConfig { public static boolean ridableZombie = true; public static boolean ridableHusk = true; public static boolean ridableZombieVillager = true; + public static String ridablesNoClientModWarning = "&cYou must have the PurpurClient mod to ride this mob"; private static void enableRidableMobs() { ridableBat = getBoolean("settings.ridable.bat", ridableBat); - ridableBlaze = getBoolean("settings.ridable.blaze", ridableBlaze); -@@ -453,6 +455,10 @@ public class PurpurConfig { + ridableBee = getBoolean("settings.ridable.bee", ridableBee); +@@ -455,6 +457,10 @@ public class PurpurConfig { ridableZombie = getBoolean("settings.ridable.zombie", ridableZombie); ridableZombiePigman = getBoolean("settings.ridable.zombie_pigman", ridableZombiePigman); ridableZombieVillager = getBoolean("settings.ridable.zombie_villager", ridableZombieVillager);