mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Configs for if Wither/Ender Dragon can ride vehicles
This commit is contained in:
@@ -1,66 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
|
|
||||||
Date: Sat, 20 Feb 2021 14:47:08 -0800
|
|
||||||
Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
||||||
index 587b477305addbd1e5c71f34dc9df07be7f60384..d3721fcd9a537ad1e3c5712cd78bd436ac3e1a8b 100644
|
|
||||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
||||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
|
||||||
@@ -1171,6 +1171,7 @@ public class EnderDragon extends Mob implements Enemy {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean canRide(Entity entity) {
|
|
||||||
+ if (this.level().purpurConfig.enderDragonCanRideVehicles) return this.boardingCooldown <= 0; // Purpur
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
||||||
index cb3277d101b48db434a7e3155bf54559d6c13ba2..7bdc2b79fbf58f248caf63008ce898b9a43bfcd3 100644
|
|
||||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
||||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
|
||||||
@@ -729,6 +729,7 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean canRide(Entity entity) {
|
|
||||||
+ if (this.level().purpurConfig.witherCanRideVehicles) return this.boardingCooldown <= 0; // Purpur
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
index a1e83e77b5c844de175005b2772c8c47ee65634d..066a6407ed76a3a2b77541f24d4c3429d3a1a189 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
@@ -979,6 +979,7 @@ public class PurpurWorldConfig {
|
|
||||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
|
||||||
public boolean enderDragonBypassMobGriefing = false;
|
|
||||||
public boolean enderDragonTakeDamageFromWater = false;
|
|
||||||
+ public boolean enderDragonCanRideVehicles = false;
|
|
||||||
private void enderDragonSettings() {
|
|
||||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
|
||||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
|
||||||
@@ -997,6 +998,7 @@ public class PurpurWorldConfig {
|
|
||||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
|
||||||
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
|
|
||||||
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
|
|
||||||
+ enderDragonCanRideVehicles = getBoolean("mobs.ender_dragon.can-ride-vehicles", enderDragonCanRideVehicles);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean endermanRidable = false;
|
|
||||||
@@ -2283,6 +2285,7 @@ public class PurpurWorldConfig {
|
|
||||||
public int witherHealthRegenDelay = 20;
|
|
||||||
public boolean witherBypassMobGriefing = false;
|
|
||||||
public boolean witherTakeDamageFromWater = false;
|
|
||||||
+ public boolean witherCanRideVehicles = false;
|
|
||||||
private void witherSettings() {
|
|
||||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
|
||||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
|
||||||
@@ -2303,6 +2306,7 @@ public class PurpurWorldConfig {
|
|
||||||
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
|
||||||
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
|
||||||
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
|
||||||
+ witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean witherSkeletonRidable = false;
|
|
||||||
@@ -89,7 +89,7 @@ index 474240c0fd68dbfe18b8fce7ae6e7634eea65956..bcf554054111f85b095341a5455856ee
|
|||||||
public int getRemainingPersistentAngerTime() {
|
public int getRemainingPersistentAngerTime() {
|
||||||
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
|
return this.entityData.get(DATA_REMAINING_ANGER_TIME);
|
||||||
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
|
diff --git a/net/minecraft/world/entity/animal/Cat.java b/net/minecraft/world/entity/animal/Cat.java
|
||||||
index 06be2b391bad13165e1e0332053ae4e3e4198dc9..ec56ba8da89cccdf37abb26b75e524ee98a2f29c 100644
|
index f066b0acfa0e954f6d71e62962c76afa1f05a4a5..98ce277c5b27591e22daa3c85241be1b8689bfae 100644
|
||||||
--- a/net/minecraft/world/entity/animal/Cat.java
|
--- a/net/minecraft/world/entity/animal/Cat.java
|
||||||
+++ b/net/minecraft/world/entity/animal/Cat.java
|
+++ b/net/minecraft/world/entity/animal/Cat.java
|
||||||
@@ -118,6 +118,14 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
@@ -118,6 +118,14 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
|
||||||
@@ -291,7 +291,7 @@ index 19aa39af6685a03eb584820853239a3f4fa1a515..5b07dff937c8873300eabecf1c510cf5
|
|||||||
|
|
||||||
if (this.isLazy()) {
|
if (this.isLazy()) {
|
||||||
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
|
diff --git a/net/minecraft/world/entity/animal/Parrot.java b/net/minecraft/world/entity/animal/Parrot.java
|
||||||
index 0cd22002a1af6075be4818a4b351ee716f228cb2..0d78ebe27928006f11e9b49380d6a759d273645d 100644
|
index 11a19ad96317d2e44ab998e4125596aeac0e999b..d1b0f3e0287389e8f5ada43d884af0afd6dd0a49 100644
|
||||||
--- a/net/minecraft/world/entity/animal/Parrot.java
|
--- a/net/minecraft/world/entity/animal/Parrot.java
|
||||||
+++ b/net/minecraft/world/entity/animal/Parrot.java
|
+++ b/net/minecraft/world/entity/animal/Parrot.java
|
||||||
@@ -186,6 +186,14 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
@@ -186,6 +186,14 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||||
@@ -497,7 +497,7 @@ index 98cb91574c8d2bdb6d180256f657ecc67987a6fe..4f0fbbb2caeda6d1477d3297fd68f802
|
|||||||
this.entityData.set(HOME_POS, homePos);
|
this.entityData.set(HOME_POS, homePos);
|
||||||
}
|
}
|
||||||
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
|
diff --git a/net/minecraft/world/entity/animal/Wolf.java b/net/minecraft/world/entity/animal/Wolf.java
|
||||||
index 90472dc99ed1c77ca134ccb01923d1c47465619d..710d37dc7623738ce8d8310eaecec8e3a1bc63f0 100644
|
index 9c517f7afdf18f3cfa7c30da00066b3757f2dbbf..93a0fda3a2f3598c9f5606e4f379b60a2129a07b 100644
|
||||||
--- a/net/minecraft/world/entity/animal/Wolf.java
|
--- a/net/minecraft/world/entity/animal/Wolf.java
|
||||||
+++ b/net/minecraft/world/entity/animal/Wolf.java
|
+++ b/net/minecraft/world/entity/animal/Wolf.java
|
||||||
@@ -202,6 +202,14 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
@@ -202,6 +202,14 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||||
@@ -876,7 +876,7 @@ index 151c2435810798708544f9cf20bcf77f5e384962..a5ff61a3697e2299c96288b6f8d7c6f2
|
|||||||
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
protected void defineSynchedData(SynchedEntityData.Builder builder) {
|
||||||
super.defineSynchedData(builder);
|
super.defineSynchedData(builder);
|
||||||
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
diff --git a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
index ca9cca5b1eb8549e99d7a594cb96945594678dd4..0099257b813745dd96a77933550369ec91b34b0f 100644
|
index bc9564ee22ff9d7f6d819da9601c2d8162d304e1..ca900bb646e16c7b4342f23c3ffae786eab28145 100644
|
||||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
@@ -163,6 +163,13 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -163,6 +163,13 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
@@ -893,7 +893,7 @@ index ca9cca5b1eb8549e99d7a594cb96945594678dd4..0099257b813745dd96a77933550369ec
|
|||||||
public static AttributeSupplier.Builder createAttributes() {
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0);
|
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0);
|
||||||
}
|
}
|
||||||
@@ -1075,7 +1082,7 @@ public class EnderDragon extends Mob implements Enemy {
|
@@ -1076,7 +1083,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected float sanitizeScale(float scale) {
|
protected float sanitizeScale(float scale) {
|
||||||
@@ -903,7 +903,7 @@ index ca9cca5b1eb8549e99d7a594cb96945594678dd4..0099257b813745dd96a77933550369ec
|
|||||||
|
|
||||||
// CraftBukkit start - SPIGOT-2420: Special case, the ender dragon drops 12000 xp for the first kill and 500 xp for every other kill and this over time.
|
// CraftBukkit start - SPIGOT-2420: Special case, the ender dragon drops 12000 xp for the first kill and 500 xp for every other kill and this over time.
|
||||||
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
diff --git a/net/minecraft/world/entity/boss/wither/WitherBoss.java b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
index a38212ad075623b2fa0c37d991aaaf9e1b2bab75..e3a5aa5d6fd3cf4c6af06c592674e7f556f5bf8d 100644
|
index 591dbbbd1da84b0190f010b22d5163bb41cdd3c7..f6221829d213f103ffed9acbf9c6bc954ab6d539 100644
|
||||||
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
--- a/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
+++ b/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||||
@@ -99,6 +99,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
@@ -99,6 +99,13 @@ public class WitherBoss extends Monster implements RangedAttackMob {
|
||||||
|
|||||||
@@ -1,5 +1,13 @@
|
|||||||
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
--- a/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
+++ b/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||||
|
@@ -974,6 +_,7 @@
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean canRide(Entity entity) {
|
||||||
|
+ if (this.level().purpurConfig.enderDragonCanRideVehicles) return this.boardingCooldown <= 0; // Purpur - Configs for if Wither/Ender Dragon can ride vehicles
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1009,7 +_,7 @@
|
@@ -1009,7 +_,7 @@
|
||||||
boolean flag = worldserver.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
|
boolean flag = worldserver.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
|
||||||
int i = 500;
|
int i = 500;
|
||||||
|
|||||||
@@ -13,3 +13,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
|
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
|
||||||
|
@@ -574,6 +_,7 @@
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean canRide(Entity entity) {
|
||||||
|
+ if (this.level().purpurConfig.witherCanRideVehicles) return this.boardingCooldown <= 0; // Purpur - Configs for if Wither/Ender Dragon can ride vehicles
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -971,6 +971,7 @@ public class PurpurWorldConfig {
|
|||||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||||
public boolean enderDragonBypassMobGriefing = false;
|
public boolean enderDragonBypassMobGriefing = false;
|
||||||
public boolean enderDragonTakeDamageFromWater = false;
|
public boolean enderDragonTakeDamageFromWater = false;
|
||||||
|
public boolean enderDragonCanRideVehicles = false;
|
||||||
private void enderDragonSettings() {
|
private void enderDragonSettings() {
|
||||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
||||||
@@ -989,6 +990,7 @@ public class PurpurWorldConfig {
|
|||||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||||
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
|
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
|
||||||
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
|
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
|
||||||
|
enderDragonCanRideVehicles = getBoolean("mobs.ender_dragon.can-ride-vehicles", enderDragonCanRideVehicles);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean endermanRidable = false;
|
public boolean endermanRidable = false;
|
||||||
@@ -2275,6 +2277,7 @@ public class PurpurWorldConfig {
|
|||||||
public int witherHealthRegenDelay = 20;
|
public int witherHealthRegenDelay = 20;
|
||||||
public boolean witherBypassMobGriefing = false;
|
public boolean witherBypassMobGriefing = false;
|
||||||
public boolean witherTakeDamageFromWater = false;
|
public boolean witherTakeDamageFromWater = false;
|
||||||
|
public boolean witherCanRideVehicles = false;
|
||||||
private void witherSettings() {
|
private void witherSettings() {
|
||||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||||
@@ -2295,6 +2298,7 @@ public class PurpurWorldConfig {
|
|||||||
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
||||||
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
||||||
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
||||||
|
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean witherSkeletonRidable = false;
|
public boolean witherSkeletonRidable = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user