more ridables

This commit is contained in:
William Blake Galbreath
2020-07-09 10:15:41 -05:00
parent aedda68e52
commit 918dfae914
9 changed files with 668 additions and 189 deletions

View File

@@ -17,7 +17,7 @@ index c57e23e16..92aa104dc 100644
public AttributeModifiable a(AttributeBase attributebase) {
return (AttributeModifiable) this.b.computeIfAbsent(attributebase, (attributebase1) -> {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 3ba812843..7ecf832c2 100644
index ebbd81a2d..b39cc82bf 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -30,10 +30,10 @@ index 3ba812843..7ecf832c2 100644
public float I;
protected final Random random;
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index 37618126f..4b8edc8df 100644
index 37618126f..143041003 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -4,7 +4,10 @@ public class EntityGiantZombie extends EntityMonster {
@@ -4,9 +4,68 @@ public class EntityGiantZombie extends EntityMonster {
public EntityGiantZombie(EntityTypes<? extends EntityGiantZombie> entitytypes, World world) {
super(entitytypes, world);
@@ -44,15 +44,6 @@ index 37618126f..4b8edc8df 100644
+ // Purpur end
}
@Override
@@ -18,6 +21,62 @@ public class EntityGiantZombie extends EntityMonster {
@Override
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
- return iworldreader.y(blockposition) - 0.5F;
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns
}
+
+ // Purpur start
+ @Override
+ protected void initPathfinder() {
@@ -108,6 +99,17 @@ index 37618126f..4b8edc8df 100644
+ return world.purpurConfig.giantJumpHeight;
+ }
+ // Purpur end
+
@Override
protected float b(EntityPose entitypose, EntitySize entitysize) {
return 10.440001F;
@@ -18,6 +77,6 @@ public class EntityGiantZombie extends EntityMonster {
@Override
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
- return iworldreader.y(blockposition) - 0.5F;
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns
}
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 605bbf017..93714e5d9 100644
@@ -144,7 +146,7 @@ index 605bbf017..93714e5d9 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index a5262b88e..69901be8b 100644
index 5f551f571..762217c7e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2150,7 +2150,7 @@ public abstract class EntityLiving extends Entity {

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Illusioners AI settings
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
index 76fd0513f..1a5b9a0f0 100644
index 76fd0513f..0e23aa91d 100644
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
@@ -40,6 +40,17 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
return EntityMonster.eS().a(GenericAttributes.MOVEMENT_SPEED, 0.5D).a(GenericAttributes.FOLLOW_RANGE, 18.0D).a(GenericAttributes.MAX_HEALTH, 32.0D);
@@ -19,6 +19,17 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
}
+ // Purpur start
@@ -24,8 +24,8 @@ index 76fd0513f..1a5b9a0f0 100644
+ // Purpur end
+
@Override
public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) {
this.setSlot(EnumItemSlot.MAINHAND, new ItemStack(Items.BOW));
protected void initPathfinder() {
super.initPathfinder();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b1aca6526..70f8feffb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java

View File

@@ -5,14 +5,13 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 5e7f3af37..ec5287fa5 100644
index 5e7f3af37..e8008e3c2 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -275,4 +275,15 @@ public class EntityCreeper extends EntityMonster {
public void setCausedHeadDrop() {
++this.bz;
@@ -23,6 +23,17 @@ public class EntityCreeper extends EntityMonster {
super(entitytypes, world);
}
+
+ // Purpur start
+ @Override
+ public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, GroupDataEntity groupdataentity, NBTTagCompound nbttagcompound) {
@@ -23,7 +22,10 @@ index 5e7f3af37..ec5287fa5 100644
+ return super.prepare(generatoraccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound);
+ }
+ // Purpur end
}
+
@Override
protected void initPathfinder() {
this.goalSelector.a(1, new PathfinderGoalFloat(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d0fd8f9cd..5004d6f77 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java

View File

@@ -5,15 +5,11 @@ Subject: [PATCH] Breedable Polar Bears
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
index 69e5c1aed..6506e0055 100644
index 69e5c1aed..c26fd0e18 100644
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
@@ -28,15 +28,45 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
@Override
public boolean k(ItemStack itemstack) {
- return false;
+ return world.purpurConfig.polarBearBreedableItem != null && itemstack.getItem() == world.purpurConfig.polarBearBreedableItem; // Purpur;
@@ -21,6 +21,30 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
super(entitytypes, world);
}
+ // Purpur start
@@ -41,8 +37,18 @@ index 69e5c1aed..6506e0055 100644
+ // Purpur end
+
@Override
protected void initPathfinder() {
super.initPathfinder();
public EntityAgeable createChild(EntityAgeable entityageable) {
return (EntityAgeable) EntityTypes.POLAR_BEAR.a(this.world);
@@ -28,7 +52,7 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
@Override
public boolean k(ItemStack itemstack) {
- return false;
+ return world.purpurConfig.polarBearBreedableItem != null && itemstack.getItem() == world.purpurConfig.polarBearBreedableItem; // Purpur;
}
@Override
@@ -37,6 +61,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
this.goalSelector.a(0, new PathfinderGoalFloat(this));
this.goalSelector.a(1, new EntityPolarBear.c());
this.goalSelector.a(1, new EntityPolarBear.d());

View File

@@ -5,10 +5,24 @@ Subject: [PATCH] Chickens can retaliate
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
index c6ee92343..fa97552bb 100644
index c6ee92343..137eada65 100644
--- a/src/main/java/net/minecraft/server/EntityChicken.java
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
@@ -20,14 +20,33 @@ public class EntityChicken extends EntityAnimal {
@@ -17,16 +17,35 @@ public class EntityChicken extends EntityAnimal {
this.a(PathType.WATER, 0.0F);
}
+ // Purpur start
+ @Override
+ protected void initAttributes(World world) {
+ if (world != null) {
+ if (world.purpurConfig.chickenRetaliate) {
+ this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(2.0D);
+ }
+ }
+ }
+ // Purpur end
+
@Override
protected void initPathfinder() {
this.goalSelector.a(0, new PathfinderGoalFloat(this));
@@ -28,21 +42,9 @@ index c6ee92343..fa97552bb 100644
+ this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.4D));
+ }
+ // Purpur end
+ }
+
+ // Purpur start
+ @Override
+ protected void initAttributes(World world) {
+ if (world != null) {
+ if (world.purpurConfig.chickenRetaliate) {
+ this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(2.0D);
+ }
+ }
}
+ // Purpur end
@Override
protected float b(EntityPose entitypose, EntitySize entitysize) {
@@ -35,7 +54,7 @@ public class EntityChicken extends EntityAnimal {
}

View File

@@ -5,10 +5,10 @@ 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 ec5287fa5..848944230 100644
index e8008e3c2..2d5aab9e2 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -204,7 +204,7 @@ public class EntityCreeper extends EntityMonster {
@@ -215,7 +215,7 @@ public class EntityCreeper extends EntityMonster {
public void explode() {
if (!this.world.isClientSide) {

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Configurable jockey options
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
index e6425bdf1..455b1d922 100644
index e6425bdf1..6fc8d1213 100644
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
@@ -45,6 +45,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
return groupdataentity;
@@ -19,6 +19,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
this.navigationLand = new Navigation(this, world);
}
+ // Purpur start
@@ -29,15 +29,15 @@ index e6425bdf1..455b1d922 100644
+ }
+ // Purpur end
+
public static boolean b(EntityTypes<EntityDrowned> entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
BiomeBase biomebase = generatoraccess.getBiome(blockposition);
boolean flag = generatoraccess.getDifficulty() != EnumDifficulty.PEACEFUL && a(generatoraccess, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.getFluid(blockposition).a((Tag) TagsFluid.WATER));
@Override
protected void m() {
this.goalSelector.a(1, new EntityDrowned.c(this, 1.0D));
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 19f585022..4f89e2f4f 100644
index a69c3897c..fdd13b2ba 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -44,6 +44,23 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
return EntityZombie.eT().a(GenericAttributes.SPAWN_REINFORCEMENTS, 0.0D).a(GenericAttributes.MOVEMENT_SPEED, 0.23000000417232513D).a(GenericAttributes.ATTACK_DAMAGE, 5.0D);
@@ -21,6 +21,23 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
this.a(PathType.LAVA, 8.0F);
}
+ // Purpur start
@@ -58,10 +58,10 @@ index 19f585022..4f89e2f4f 100644
+ // Purpur end
+
@Override
protected boolean eO() {
return false;
public void setAngerTarget(@Nullable UUID uuid) {
this.by = uuid;
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 00b89746f..307a20860 100644
index 00b89746f..9f117b20e 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -3,6 +3,7 @@ package net.minecraft.server;
@@ -72,8 +72,8 @@ index 00b89746f..307a20860 100644
import java.util.List;
import java.util.Random;
import java.util.UUID;
@@ -75,6 +76,20 @@ public class EntityZombie extends EntityMonster {
this.getDataWatcher().register(EntityZombie.DROWN_CONVERTING, false);
@@ -44,6 +45,20 @@ public class EntityZombie extends EntityMonster {
this(EntityTypes.ZOMBIE, world);
}
+ // Purpur start
@@ -90,9 +90,9 @@ index 00b89746f..307a20860 100644
+ }
+ // Purpur end
+
public boolean isDrowning() { return isDrownConverting(); } // Paper - OBFHELPER
public boolean isDrownConverting() {
return (Boolean) this.getDataWatcher().get(EntityZombie.DROWN_CONVERTING);
@Override
protected void initPathfinder() {
if (world.purpurConfig.zombieTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Purpur
@@ -460,19 +475,20 @@ public class EntityZombie extends EntityMonster {
if (object instanceof EntityZombie.GroupDataZombie) {
EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object;
@@ -166,11 +166,11 @@ index 143b9123e..2daff8562 100644
return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition));
}
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
index 9b920332b..68fca8a8d 100644
index 9b920332b..cd796f5b8 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
@@ -34,6 +34,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
this.datawatcher.register(EntityZombieVillager.c, new VillagerData(VillagerType.PLAINS, VillagerProfession.NONE, 1));
@@ -27,6 +27,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
this.setVillagerData(this.getVillagerData().withProfession((VillagerProfession) IRegistry.VILLAGER_PROFESSION.a(this.random)));
}
+ // Purpur start
@@ -191,8 +191,8 @@ index 9b920332b..68fca8a8d 100644
+ // Purpur end
+
@Override
public void saveData(NBTTagCompound nbttagcompound) {
super.saveData(nbttagcompound);
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 9de724686..3e067c832 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Customizable EnderDragon Health
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index 08fa5a9756..e08e6014f8 100644
index 08fa5a975..47d71a166 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -66,6 +66,16 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
return EntityInsentient.p().a(GenericAttributes.MAX_HEALTH, 200.0D);
@@ -62,6 +62,16 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
this.bN = new DragonControllerManager(this);
}
+ // Purpur start
@@ -22,11 +22,11 @@ index 08fa5a9756..e08e6014f8 100644
+ }
+ // Purpur end
+
@Override
protected void initDatawatcher() {
super.initDatawatcher();
public static AttributeProvider.Builder m() {
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 f2ca515c9b..e6b41ab924 100644
index f2ca515c9..e6b41ab92 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -269,9 +269,11 @@ public class PurpurWorldConfig {

File diff suppressed because it is too large Load Diff