9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-24 01:09:27 +00:00

Dragon respawn end crystal proximity check

This commit is contained in:
Martijn Muijsers
2023-08-07 22:37:58 +02:00
parent 0b9b130801
commit 859212b690
90 changed files with 98 additions and 36 deletions

View File

@@ -0,0 +1,61 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Mon, 7 Aug 2023 22:02:38 +0200
Subject: [PATCH] Dragon respawn end crystal proximity check
License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/world/item/EndCrystalItem.java b/src/main/java/net/minecraft/world/item/EndCrystalItem.java
index ca1edc083847b47bb450b291723aca778a5912dc..428eed6ad35b59bdf293ca727fa3e81520a8bf0b 100644
--- a/src/main/java/net/minecraft/world/item/EndCrystalItem.java
+++ b/src/main/java/net/minecraft/world/item/EndCrystalItem.java
@@ -56,7 +56,7 @@ public class EndCrystalItem extends Item {
EndDragonFight enderdragonbattle = ((ServerLevel) world).getDragonFight();
if (enderdragonbattle != null) {
- enderdragonbattle.tryRespawn();
+ enderdragonbattle.tryRespawn(blockposition1); // Gale - check placed end crystal to portal proximity before attempting to respawn dragon
}
}
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
index 02d5a5b799bfe90993bc6868369d31f43d5b7fd6..9cb6a36ac210574a3d62202b16058e9fdc94691e 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -535,6 +535,12 @@ public class EndDragonFight {
}
public boolean tryRespawn() { // CraftBukkit - return boolean
+ // Gale start - check placed end crystal to portal proximity before attempting to respawn dragon
+ return this.tryRespawn(null);
+ }
+
+ public boolean tryRespawn(@Nullable BlockPos placedEndCrystalBlockPos) { // CraftBukkit - return boolean
+ // Gale end - check placed end crystal to portal proximity before attempting to respawn dragon
if (this.dragonKilled && this.respawnStage == null) {
BlockPos blockposition = this.portalLocation;
@@ -552,6 +558,22 @@ public class EndDragonFight {
blockposition = this.portalLocation;
}
+ // Gale start - check placed end crystal to portal proximity before attempting to respawn dragon
+ if (placedEndCrystalBlockPos != null) {
+ // The end crystal must be 0 or 1 higher than the portal origin
+ int dy = placedEndCrystalBlockPos.getY() - blockposition.getY();
+ if (dy != 0 && dy != 1) {
+ return false;
+ }
+ // The end crystal must be within a distance of 1 in one planar direction, and 3 in the other
+ int dx = placedEndCrystalBlockPos.getX() - blockposition.getX();
+ int dz = placedEndCrystalBlockPos.getZ() - blockposition.getZ();
+ if (!((dx >= -1 && dx <= 1 && dz >= -3 && dz <= 3) || (dx >= -3 && dx <= 3 && dz >= -1 && dz <= 1))) {
+ return false;
+ }
+ }
+ // Gale end - check placed end crystal to portal proximity before attempting to respawn dragon
+
List<EndCrystal> list = Lists.newArrayList();
BlockPos blockposition1 = blockposition.above(1);
Iterator iterator = Direction.Plane.HORIZONTAL.iterator();

View File

@@ -1,7 +1,8 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Mon, 7 Aug 2023 21:35:57 +0200
Subject: [PATCH] Make ender dragon respawning with end crystals configurable
Subject: [PATCH] Make ender dragon respawn attempt after placing end crystals
configurable
The original Pufferfish description has been included below for reference,
but please note that on Gale, there is no need to disable end crystal
@@ -25,25 +26,25 @@ search to attempt respawning the ender dragon whenever a player places
an end crystal.
diff --git a/src/main/java/net/minecraft/world/item/EndCrystalItem.java b/src/main/java/net/minecraft/world/item/EndCrystalItem.java
index ca1edc083847b47bb450b291723aca778a5912dc..b754b6248249ddb693ada67cb940f340de9acbaf 100644
index 428eed6ad35b59bdf293ca727fa3e81520a8bf0b..0ebfa82de86cc08aa9f865e7807552bba4d3dd21 100644
--- a/src/main/java/net/minecraft/world/item/EndCrystalItem.java
+++ b/src/main/java/net/minecraft/world/item/EndCrystalItem.java
@@ -53,11 +53,13 @@ public class EndCrystalItem extends Item {
// CraftBukkit end
world.addFreshEntity(entityendercrystal);
world.gameEvent((Entity) context.getPlayer(), GameEvent.ENTITY_PLACE, blockposition1);
+ if (world.galeConfig().gameplayMechanics.enderDragonCanBeRespawnWithEndCrystals) { // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
+ if (world.galeConfig().gameplayMechanics.tryRespawnEnderDragonAfterEndCrystalPlace) { // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable
EndDragonFight enderdragonbattle = ((ServerLevel) world).getDragonFight();
if (enderdragonbattle != null) {
enderdragonbattle.tryRespawn();
enderdragonbattle.tryRespawn(blockposition1); // Gale - check placed end crystal to portal proximity before attempting to respawn dragon
}
+ } // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
+ } // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable
}
context.getItemInHand().shrink(1);
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index d34ee90eaf160a72d4898feed13d94b0b61eded3..54abeaf23ab6e1dc5c78ac3996334c9b7718cc9d 100644
index d34ee90eaf160a72d4898feed13d94b0b61eded3..b3054f2fa77d3e2a4d568269d368f1cce7c00723 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -120,4 +120,11 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -53,7 +54,7 @@ index d34ee90eaf160a72d4898feed13d94b0b61eded3..54abeaf23ab6e1dc5c78ac3996334c9b
+ public GameplayMechanics gameplayMechanics;
+ public class GameplayMechanics extends ConfigurationPart {
+
+ public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
+ public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable
+
+ }
+

View File

@@ -37,7 +37,7 @@ index 288910fb168ddc5d3a61971778b8038a56772fa8..a9354adc79b71a206ef7d76f0c59b264
+
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 54abeaf23ab6e1dc5c78ac3996334c9b7718cc9d..7b2213e0d39711f4036cb7a52337f2d4602ecd55 100644
index b3054f2fa77d3e2a4d568269d368f1cce7c00723..6f7fe7377532e87b8c5bf0d55cb4cb3f5619eb3e 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -33,6 +33,20 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -188,7 +188,7 @@ index 9aa26d2581df4ef75fffe203d80bc669f3ba6790..d1ba406f481a72513743b549cf450b44
public double getLevelX() {
return (double) this.worldPosition.getX() + 0.5D;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 7b2213e0d39711f4036cb7a52337f2d4602ecd55..dafaa52cbdd673478c3f828e96a4563fe1d1165b 100644
index 6f7fe7377532e87b8c5bf0d55cb4cb3f5619eb3e..dffac4422559d1b5095950d90dc03b0d7bf27d26 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -130,6 +130,112 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -48,7 +48,7 @@ index 92bd58010e8c89e361e28aec59447349edbbc028..2239c7260638bb25df5b45dbc129bcfe
org.bukkit.event.entity.EntityDropItemEvent event = new org.bukkit.event.entity.EntityDropItemEvent(entity.getBukkitEntity(), (org.bukkit.entity.Item) entityitem.getBukkitEntity());
entityitem.level().getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index dafaa52cbdd673478c3f828e96a4563fe1d1165b..c1c77fc68a6f2898f074a98e286112bdc8cc22ce 100644
index dffac4422559d1b5095950d90dc03b0d7bf27d26..2f9687ad6c50cdcebc7908583b1093d1a0fa9737 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -236,6 +236,21 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -7,7 +7,7 @@ License: AGPL-3.0 (https://www.gnu.org/licenses/agpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index c1c77fc68a6f2898f074a98e286112bdc8cc22ce..1c4e04fed44e851bb38b64721b87f4b4ff8fd77c 100644
index 2f9687ad6c50cdcebc7908583b1093d1a0fa9737..b3822132cbb34dde90754aa2ee5439433ea4df4b 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -258,6 +258,23 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -31,7 +31,7 @@ index c1c77fc68a6f2898f074a98e286112bdc8cc22ce..1c4e04fed44e851bb38b64721b87f4b4
+ public double entityWakeUpDurationRatioStandardDeviation = 0.2;
+ // Gale end - variable entity wake-up duration
+
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java

View File

@@ -59,7 +59,7 @@ index 18eaccb39a4c81338a8cbebe3de03934913ac2a4..a1466d29b896c06f67a6f110270377fd
}
// Paper end - fix sand duping
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 1c4e04fed44e851bb38b64721b87f4b4ff8fd77c..b585236fdbd8de2195cdd411c566a82fef5d6dfb 100644
index b3822132cbb34dde90754aa2ee5439433ea4df4b..4f358cc6e6af29addd151ed521d8e1be5655d991 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -274,6 +274,13 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -74,5 +74,5 @@ index 1c4e04fed44e851bb38b64721b87f4b4ff8fd77c..b585236fdbd8de2195cdd411c566a82f
+
+ }
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable

View File

@@ -49,7 +49,7 @@ index cd2ce5bcb8c30e4657cd0e340d80544c7e805905..db3574e4ec9bad32bbbcd9d7ab9607da
}
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index b585236fdbd8de2195cdd411c566a82fef5d6dfb..607f281e3018a729991e981c6ad565f78252b902 100644
index 4f358cc6e6af29addd151ed521d8e1be5655d991..32b9b7ab76fbb2acac9c27c49a27b5dd3134876b 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -279,7 +279,12 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -65,4 +65,4 @@ index b585236fdbd8de2195cdd411c566a82fef5d6dfb..607f281e3018a729991e981c6ad565f7
+
}
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable

View File

@@ -64,7 +64,7 @@ index a04374f91f2fbb31219d86b6ae63bcf8fdf7318c..e3b92e8b2274ee6d07d1e9c74f669aea
entitycow.setPersistenceRequired();
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 607f281e3018a729991e981c6ad565f78252b902..05f9389a8d9c132fdf799c33b5bcf7544f0d5008 100644
index 32b9b7ab76fbb2acac9c27c49a27b5dd3134876b..f066a6ae227d2d8c064b48529e580c9b84a16ca3 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -279,7 +279,8 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -65,7 +65,7 @@ index 87fb10096fc9dade33c663234b1cecc34d3d77bb..cb2c6dcdd2be476d0434e7f771bbb251
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 05f9389a8d9c132fdf799c33b5bcf7544f0d5008..d568ad6f76b32112d1c9b61651d7f716e49bb337 100644
index f066a6ae227d2d8c064b48529e580c9b84a16ca3..db4ce11c838dbc718a82abce2376a54259617ae2 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -280,12 +280,17 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -86,4 +86,4 @@ index 05f9389a8d9c132fdf799c33b5bcf7544f0d5008..d568ad6f76b32112d1c9b61651d7f716
+
}
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable

View File

@@ -35,7 +35,7 @@ index 80ef4b6649da3049f21624926fa38595d76c5da5..7ce47abc44e0dfe8ff90afeb25b14d8d
}
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index d568ad6f76b32112d1c9b61651d7f716e49bb337..4f92a6108f65b708be3ccaf0be6aecd515dad000 100644
index db4ce11c838dbc718a82abce2376a54259617ae2..a1b69f5815c212312dfef696017ec06d86fd7e36 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -291,6 +291,11 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -49,4 +49,4 @@ index d568ad6f76b32112d1c9b61651d7f716e49bb337..4f92a6108f65b708be3ccaf0be6aecd5
+
}
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable

View File

@@ -35,7 +35,7 @@ index 58152160d609d0e9d105153aeb166a56a7955603..6a906b1f37e52472527e9f19e965be9f
if (!this.abilities.invulnerable) {
if (!this.level().isClientSide) {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 4f92a6108f65b708be3ccaf0be6aecd515dad000..d7e62ec4f68c41d9581dbd37b903be802d2afb42 100644
index a1b69f5815c212312dfef696017ec06d86fd7e36..60a8ef0c4f3fd95b9d7f6b850b2ae6aacdcc5221 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -296,6 +296,11 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -49,4 +49,4 @@ index 4f92a6108f65b708be3ccaf0be6aecd515dad000..d7e62ec4f68c41d9581dbd37b903be80
+
}
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable

View File

@@ -49,7 +49,7 @@ index d9baa85962236c42219cf09d4f3129be93ff069c..414a47a82927bed02a4f3cf330c78e46
blockEntity.teleportCooldown = 100;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index d7e62ec4f68c41d9581dbd37b903be802d2afb42..2edb44a5a844339b00b05ca52dfed4d7b6da188f 100644
index 60a8ef0c4f3fd95b9d7f6b850b2ae6aacdcc5221..d3c567390d3e9acb8f69aba16d5eb270f971eaeb 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -280,6 +280,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -55,7 +55,7 @@ index 7226be19248a1ffb8ff2c89b55882529d33a6c0c..cff4d09af11d1741bf3301b457555d71
@Override
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 2edb44a5a844339b00b05ca52dfed4d7b6da188f..b5f6599e4cd4b36f5e5844664ea11bfa14222828 100644
index d3c567390d3e9acb8f69aba16d5eb270f971eaeb..f6ac2c897f63737baecbefdb7cf22302b7a31b68 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -274,7 +274,9 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -110,7 +110,7 @@ index c0e89262c596fbdd0bb3c3f76baccb17a1bb5fcd..d8f99e1221609d481ee79ee31f645731
DyeColor enumcolor1 = ((Sheep) secondParent).getColor();
CraftingContainer inventorycrafting = Sheep.makeContainer(enumcolor, enumcolor1);
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index b5f6599e4cd4b36f5e5844664ea11bfa14222828..52d95fc0e33832303260b7a9ccd77d5f910752e1 100644
index f6ac2c897f63737baecbefdb7cf22302b7a31b68..3bf1b9a5bb3c974025d4f1f3827fca39141df684 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -47,6 +47,21 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -31,7 +31,7 @@ index 5690f551281a8d0cc3927cb4d860a403141b7239..4f654e5cc39ca3fccb0bff1c1f859a17
this.firstTick = false;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 52d95fc0e33832303260b7a9ccd77d5f910752e1..09e0fadaa8bf6f6c8304968fb2e8dd7f984ea6ce 100644
index 3bf1b9a5bb3c974025d4f1f3827fca39141df684..6e5ca5cd9762fa2ca0b91fb290eac72890693643 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -291,6 +291,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -86,7 +86,7 @@ index d025232b43af3cb8dc28dff2e3e05c72e490901d..06d75d94af6aff29d542d0c5e150d8f7
public void spawnDustParticles(Level world, BlockHitResult hitResult, BlockState state, Vec3 userRotation, HumanoidArm arm) {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 09e0fadaa8bf6f6c8304968fb2e8dd7f984ea6ce..42ee7a74cacabd3d315711b0bfb20e19dc8b9262 100644
index 6e5ca5cd9762fa2ca0b91fb290eac72890693643..db9d461a05fb253ee4f1273e0fb9015c6c46a4bf 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -271,7 +271,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {
@@ -121,7 +121,7 @@ index 09e0fadaa8bf6f6c8304968fb2e8dd7f984ea6ce..42ee7a74cacabd3d315711b0bfb20e19
@@ -324,6 +338,11 @@ public class GaleWorldConfiguration extends ConfigurationPart {
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable
+ @Override
+ public void postProcess() {

View File

@@ -31,12 +31,12 @@ index 4f654e5cc39ca3fccb0bff1c1f859a17e7d17229..332750297ca104bb95ef624caff80105
entity.moveTo(position.x, position.y, position.z, yaw, pitch); // Paper - use EntityPortalExitEvent values
entity.setDeltaMovement(velocity); // Paper - use EntityPortalExitEvent values
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 42ee7a74cacabd3d315711b0bfb20e19dc8b9262..750739d3df0cb94c4f27e608656ffef92b4b725f 100644
index db9d461a05fb253ee4f1273e0fb9015c6c46a4bf..9213aafac5b3b5718c93c910212f8b77a4b22ea3 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -338,6 +338,23 @@ public class GaleWorldConfiguration extends ConfigurationPart {
public boolean enderDragonCanBeRespawnWithEndCrystals = true; // Gale - Pufferfish - make ender dragon respawning with end crystals configurable
public boolean tryRespawnEnderDragonAfterEndCrystalPlace = true; // Gale - Pufferfish - make ender dragon respawn attempt after placing end crystals configurable
+ public Technical technical;
+ public class Technical extends ConfigurationPart {

View File

@@ -34,7 +34,7 @@ index dfeb3e336e06ef01f5401a362755030db942bb07..518b40a27a8d4d015caa7e67d3558396
if (NaturalSpawner.isValidEmptySpawnBlock(world, blockposition1, iblockdata, fluid, EntityType.PHANTOM)) {
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 750739d3df0cb94c4f27e608656ffef92b4b725f..c2a685ec3df2b5808ad091a83d2bd79d8f852316 100644
index 9213aafac5b3b5718c93c910212f8b77a4b22ea3..da2e77eed5d75fa0aadc0c12d13f37a0de9d64bc 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -268,6 +268,23 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -79,7 +79,7 @@ index 2f252bbe2946ea3228933b4b8c91a4e46fe99705..a35891723fad4fe984566c41cdd72800
if (iblockdata.is(BlockTags.CLIMBABLE)) {
this.lastClimbablePos = Optional.of(blockposition);
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index c2a685ec3df2b5808ad091a83d2bd79d8f852316..e9fd3f46587b8b3333478eac8fe1c1a980a31302 100644
index da2e77eed5d75fa0aadc0c12d13f37a0de9d64bc..6a804c026bd4c03462a3031338296a898b5356ef 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -283,6 +283,18 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -38,7 +38,7 @@ index 9c99384dac31b94d62d129868ad6f0131dd7bd16..8e216eaafb1b90d4fd373a4384ecff0b
@Override
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index e9fd3f46587b8b3333478eac8fe1c1a980a31302..4329bedc7ee1d167e8ff2e7fcd453c2bd5e2ed06 100644
index 6a804c026bd4c03462a3031338296a898b5356ef..d80c55aa3d256e1fe7e4dc8dfe26110acd74711a 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -343,6 +343,22 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -36,7 +36,7 @@ index 216929c838446c3c14d9b9906ffa625ef35fcbc8..39035605197bad2eb2fd0c4942c5d43b
} else {
this.wantedX = vec3.x;
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 4329bedc7ee1d167e8ff2e7fcd453c2bd5e2ed06..39aec68447a05c0d8bceb5547e97d026f08dd8c7 100644
index d80c55aa3d256e1fe7e4dc8dfe26110acd74711a..6e848778dc729d7ae5960c3f3098fc20711758a4 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -319,6 +319,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {

View File

@@ -122,7 +122,7 @@ index 414a47a82927bed02a4f3cf330c78e46f1d66782..cc17cb985856fd8d1083b5b1f57f82c6
@Override
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
index 02d5a5b799bfe90993bc6868369d31f43d5b7fd6..07f0b0807358e595b76e70e5b8716caaab383a0c 100644
index 9cb6a36ac210574a3d62202b16058e9fdc94691e..51a3188f4873666100ba438550efa76e59342afd 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -454,7 +454,7 @@ public class EndDragonFight {