mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
more ridables
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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 {
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user