mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Short enderman height
This commit is contained in:
committed by
granny
parent
d774aa3ef4
commit
f15dee9c08
@@ -4,3 +4,4 @@ protected net.minecraft.world.entity.Entity dimensions
|
|||||||
public net.minecraft.world.entity.LivingEntity canGlide()Z
|
public net.minecraft.world.entity.LivingEntity canGlide()Z
|
||||||
public net.minecraft.world.entity.monster.Shulker MAX_SCALE
|
public net.minecraft.world.entity.monster.Shulker MAX_SCALE
|
||||||
public net.minecraft.world.entity.player.Player canGlide()Z
|
public net.minecraft.world.entity.player.Player canGlide()Z
|
||||||
|
public-f net.minecraft.world.entity.EntityType dimensions
|
||||||
|
|||||||
@@ -1,49 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
||||||
Date: Mon, 10 Aug 2020 21:46:22 -0500
|
|
||||||
Subject: [PATCH] Short enderman height
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/EntityType.java b/net/minecraft/world/entity/EntityType.java
|
|
||||||
index 426d47c14d137906ed70fc3082e3d77e7f48c8d7..20a7fe2995db717f394fc3041435a95dbfee2ff7 100644
|
|
||||||
--- a/net/minecraft/world/entity/EntityType.java
|
|
||||||
+++ b/net/minecraft/world/entity/EntityType.java
|
|
||||||
@@ -388,7 +388,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
|
||||||
@Nullable
|
|
||||||
private Component description;
|
|
||||||
private final Optional<ResourceKey<LootTable>> lootTable;
|
|
||||||
- private final EntityDimensions dimensions;
|
|
||||||
+ private EntityDimensions dimensions; // Purpur - remove final - Short enderman height
|
|
||||||
+ public void setDimensions(EntityDimensions dimensions) { this.dimensions = dimensions; } // Purpur - Short enderman height
|
|
||||||
private final float spawnDimensionsScale;
|
|
||||||
private final FeatureFlagSet requiredFeatures;
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
|
||||||
index 13eaf1e8b12c3b4cba6b202f2d31e99a8a9bae92..d2959976cf206f6c92ae90f103035e4760b9d955 100644
|
|
||||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
|
||||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
|
||||||
@@ -409,6 +409,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
|
||||||
if (this.isInvulnerableTo(world, source)) {
|
|
||||||
return false;
|
|
||||||
} else if (getRider() != null && this.isControllable()) { return super.hurtServer(world, source, amount); // Purpur - no teleporting on damage
|
|
||||||
+ } else if (org.purpurmc.purpur.PurpurConfig.endermanShortHeight && source.is(net.minecraft.world.damagesource.DamageTypes.IN_WALL)) { return false; // Purpur - no suffocation damage if short height - Short enderman height
|
|
||||||
} else {
|
|
||||||
boolean flag = source.getDirectEntity() instanceof ThrownPotion;
|
|
||||||
boolean flag1;
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
index 5aa172d86f3d36a239147438e8d71c73ec2a3cf0..6ba2e3ed28b7605329446b84dc305e71505e30ec 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
||||||
@@ -247,6 +247,12 @@ public class PurpurConfig {
|
|
||||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean endermanShortHeight = false;
|
|
||||||
+ private static void entitySettings() {
|
|
||||||
+ endermanShortHeight = getBoolean("settings.entity.enderman.short-height", endermanShortHeight);
|
|
||||||
+ if (endermanShortHeight) EntityType.ENDERMAN.setDimensions(EntityDimensions.scalable(0.6F, 1.9F));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static boolean allowWaterPlacementInTheEnd = true;
|
|
||||||
private static void allowWaterPlacementInEnd() {
|
|
||||||
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
|
|
||||||
@@ -62,7 +62,7 @@ index f8a31e8b2f917e9d00827dc98bfb766be1f9f85a..041019ff63f7f437c140ea354f84e49b
|
|||||||
|
|
||||||
private void updatePlayerAttributes() {
|
private void updatePlayerAttributes() {
|
||||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 7cb8b2f113be88c7df834f3dcdb304bfcd73d92e..685068a1f633266371cf4f292f05761e903ecc7b 100644
|
index db9860c44faacdf4b24979c2ffa84515e3883299..1fc37692c7ddfc7b7e0961cd9f0602339f18a2df 100644
|
||||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -2795,6 +2795,8 @@ public class ServerGamePacketListenerImpl
|
@@ -2795,6 +2795,8 @@ public class ServerGamePacketListenerImpl
|
||||||
@@ -841,7 +841,7 @@ index 8c1f74c6be53cbf48bd6b5641511359578801c08..656babc0c8810a85eb9f78ced1f3ad95
|
|||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
player.playSound(SoundEvents.COW_MILK, 1.0F, 1.0F);
|
player.playSound(SoundEvents.COW_MILK, 1.0F, 1.0F);
|
||||||
diff --git a/net/minecraft/world/entity/animal/Dolphin.java b/net/minecraft/world/entity/animal/Dolphin.java
|
diff --git a/net/minecraft/world/entity/animal/Dolphin.java b/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
index 4141052dfd635804195a5cfa24dbd0394355a7da..0e4112793dddc0d75f4bed35bb880c03b2d1318f 100644
|
index 7b4b50a714829ed1a48c8ff1fed779432e079489..f6aa8c23afdccb093bcfb0643683614dad49caac 100644
|
||||||
--- a/net/minecraft/world/entity/animal/Dolphin.java
|
--- a/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
+++ b/net/minecraft/world/entity/animal/Dolphin.java
|
+++ b/net/minecraft/world/entity/animal/Dolphin.java
|
||||||
@@ -71,14 +71,82 @@ public class Dolphin extends AgeableWaterCreature {
|
@@ -71,14 +71,82 @@ public class Dolphin extends AgeableWaterCreature {
|
||||||
@@ -3332,7 +3332,7 @@ index 4585b7c867685f8419c4d2b5b90af5946d337f90..c6eeaf7b460408acfdf89d988b47b08e
|
|||||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.3F).add(Attributes.ATTACK_DAMAGE, 8.0).add(Attributes.MAX_HEALTH, 80.0);
|
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.3F).add(Attributes.ATTACK_DAMAGE, 8.0).add(Attributes.MAX_HEALTH, 80.0);
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
index 22a078c9b94516c8a5170a1387d7b941b91c3f1d..1f1e86dcdc6ded664a4562c0a3de45162c4fd6ac 100644
|
index 2a76e89139248b3533dc38148d3ac14dd7d8e94c..7340fcd9e07d8839845db506d6c51878e01cc6d9 100644
|
||||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
@@ -90,9 +90,27 @@ public class EnderMan extends Monster implements NeutralMob {
|
@@ -90,9 +90,27 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||||
@@ -3385,9 +3385,9 @@ index 22a078c9b94516c8a5170a1387d7b941b91c3f1d..1f1e86dcdc6ded664a4562c0a3de4516
|
|||||||
if (this.isInvulnerableTo(level, damageSource)) {
|
if (this.isInvulnerableTo(level, damageSource)) {
|
||||||
return false;
|
return false;
|
||||||
+ } else if (getRider() != null && this.isControllable()) { return super.hurtServer(level, damageSource, amount); // Purpur - no teleporting on damage
|
+ } else if (getRider() != null && this.isControllable()) { return super.hurtServer(level, damageSource, amount); // Purpur - no teleporting on damage
|
||||||
|
} else if (org.purpurmc.purpur.PurpurConfig.endermanShortHeight && damageSource.is(net.minecraft.world.damagesource.DamageTypes.IN_WALL)) { return false; // Purpur - no suffocation damage if short height - Short enderman height
|
||||||
} else {
|
} else {
|
||||||
boolean flag = damageSource.getDirectEntity() instanceof ThrownPotion;
|
boolean flag = damageSource.getDirectEntity() instanceof ThrownPotion;
|
||||||
if (!damageSource.is(DamageTypeTags.IS_PROJECTILE) && !flag) {
|
|
||||||
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
|
diff --git a/net/minecraft/world/entity/monster/Endermite.java b/net/minecraft/world/entity/monster/Endermite.java
|
||||||
index 2a219c9ae39d7cbee8484b2a93bd278d913afe95..f412cebb5c350bf16f0bee710a4ae1df7c72c384 100644
|
index 2a219c9ae39d7cbee8484b2a93bd278d913afe95..f412cebb5c350bf16f0bee710a4ae1df7c72c384 100644
|
||||||
--- a/net/minecraft/world/entity/monster/Endermite.java
|
--- a/net/minecraft/world/entity/monster/Endermite.java
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
--- a/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
+++ b/net/minecraft/world/entity/monster/EnderMan.java
|
||||||
|
@@ -385,6 +_,7 @@
|
||||||
|
public boolean hurtServer(ServerLevel level, DamageSource damageSource, float amount) {
|
||||||
|
if (this.isInvulnerableTo(level, damageSource)) {
|
||||||
|
return false;
|
||||||
|
+ } else if (org.purpurmc.purpur.PurpurConfig.endermanShortHeight && damageSource.is(net.minecraft.world.damagesource.DamageTypes.IN_WALL)) { return false; // Purpur - no suffocation damage if short height - Short enderman height
|
||||||
|
} else {
|
||||||
|
boolean flag = damageSource.getDirectEntity() instanceof ThrownPotion;
|
||||||
|
if (!damageSource.is(DamageTypeTags.IS_PROJECTILE) && !flag) {
|
||||||
@@ -484,6 +_,7 @@
|
@@ -484,6 +_,7 @@
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import com.google.common.base.Throwables;
|
|||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
import net.minecraft.world.entity.EntityDimensions;
|
||||||
|
import net.minecraft.world.entity.EntityType;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -228,6 +230,12 @@ public class PurpurConfig {
|
|||||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean endermanShortHeight = false;
|
||||||
|
private static void entitySettings() {
|
||||||
|
endermanShortHeight = getBoolean("settings.entity.enderman.short-height", endermanShortHeight);
|
||||||
|
if (endermanShortHeight) EntityType.ENDERMAN.dimensions = EntityDimensions.scalable(0.6F, 1.9F);
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean allowWaterPlacementInTheEnd = true;
|
public static boolean allowWaterPlacementInTheEnd = true;
|
||||||
private static void allowWaterPlacementInEnd() {
|
private static void allowWaterPlacementInEnd() {
|
||||||
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
|
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
|
||||||
|
|||||||
Reference in New Issue
Block a user