mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
progress
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Encode42 <me@encode42.dev>
|
||||
Date: Mon, 25 Jan 2021 11:36:39 -0500
|
||||
Subject: [PATCH] Config to use infinity bows without arrows
|
||||
|
||||
Allows for bows with infinity to be used without any arrows in the player's inventory.
|
||||
Uses a standard arrow when shot.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemBow.java b/src/main/java/net/minecraft/world/item/ItemBow.java
|
||||
index c7e20b25b4d09463fa54c66e62208e90515013e2..59b803ec4552058f2dda269e9435daf65be10559 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemBow.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemBow.java
|
||||
@@ -130,7 +130,7 @@ public class ItemBow extends ItemProjectileWeapon implements ItemVanishable {
|
||||
ItemStack itemstack = entityhuman.b(enumhand);
|
||||
boolean flag = !entityhuman.f(itemstack).isEmpty();
|
||||
|
||||
- if (!entityhuman.abilities.canInstantlyBuild && !flag) {
|
||||
+ if (!(world.purpurConfig.infinityWorksWithoutArrows && EnchantmentManager.getEnchantmentLevel(Enchantments.ARROW_INFINITE, itemstack) > 0) && !entityhuman.abilities.canInstantlyBuild && !flag) { // Purpur
|
||||
return InteractionResultWrapper.fail(itemstack);
|
||||
} else {
|
||||
entityhuman.c(enumhand);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 742db39c2bcd0a1416108e6ee57bd8156b50c0b8..7b0babbd727421ecd05523eadbff3abb758fab6f 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -253,10 +253,12 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
}
|
||||
|
||||
+ public boolean infinityWorksWithoutArrows = false;
|
||||
public boolean infinityWorksWithNormalArrows = true;
|
||||
public boolean infinityWorksWithSpectralArrows = false;
|
||||
public boolean infinityWorksWithTippedArrows = false;
|
||||
private void infinityArrowsSettings() {
|
||||
+ infinityWorksWithoutArrows = getBoolean("gameplay-mechanics.infinity-bow.works-without-arrows", infinityWorksWithoutArrows);
|
||||
infinityWorksWithNormalArrows = getBoolean("gameplay-mechanics.infinity-bow.normal-arrows", infinityWorksWithNormalArrows);
|
||||
infinityWorksWithSpectralArrows = getBoolean("gameplay-mechanics.infinity-bow.spectral-arrows", infinityWorksWithSpectralArrows);
|
||||
infinityWorksWithTippedArrows = getBoolean("gameplay-mechanics.infinity-bow.tipped-arrows", infinityWorksWithTippedArrows);
|
||||
@@ -1,152 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: YouHaveTrouble <garrenpolska@gmail.com>
|
||||
Date: Fri, 5 Feb 2021 01:11:22 +0100
|
||||
Subject: [PATCH] Toggle for water sensitive mob damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityInsentient.java b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||
index 9f6c98a8649b31ef8f5f2e60b1cb2f9f62f70930..41af652c8ba15753dcae3cf6a96df188d5f34886 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
|
||||
@@ -848,7 +848,8 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
if (goalFloat.validConditions()) goalFloat.update();
|
||||
this.getControllerJump().jumpIfSet();
|
||||
}
|
||||
- if ((this instanceof EntityBlaze || this instanceof EntityEnderman) && isInWaterOrRainOrBubble()) {
|
||||
+
|
||||
+ if (isSensitiveToWater() && isInWaterOrRainOrBubble()) { // Purpur - Toggle for water sensitive mob damage
|
||||
damageEntity(DamageSource.DROWN, 1.0F);
|
||||
}
|
||||
return;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityLiving.java b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
index d5c4c183db2dc01d65a9d39727722b8251872a6f..a2afce8391a8bd30e39cda917d92842fe3da33e5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityLiving.java
|
||||
@@ -2974,6 +2974,7 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
}
|
||||
|
||||
+ public boolean isSensitiveToWater() { return dO(); } // Purpur - OBFHELPER
|
||||
public boolean dO() {
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java b/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java
|
||||
index b13cd3f344a0e2c4c02b30f80ca9a81d93cc1954..d7aa3bd329eef71d58a8ea9be5735c58a598222b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/EntitySnowman.java
|
||||
@@ -108,7 +108,7 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
|
||||
|
||||
@Override
|
||||
public boolean dO() {
|
||||
- return true;
|
||||
+ return world.purpurConfig.snowGolemTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityBlaze.java b/src/main/java/net/minecraft/world/entity/monster/EntityBlaze.java
|
||||
index 55b6f483aca8cbb5c30b3759e23c86a699e19569..09f8f792bb800a274f7b127bc925c07416906ed5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EntityBlaze.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityBlaze.java
|
||||
@@ -143,7 +143,7 @@ public class EntityBlaze extends EntityMonster {
|
||||
|
||||
@Override
|
||||
public boolean dO() {
|
||||
- return true;
|
||||
+ return world.purpurConfig.blazeTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||||
index 2992d173dc870eccdfc5f515d162844f19691d11..a2e0fed960f6dffb0f00c9d6ce91359e3597231c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityEnderman.java
|
||||
@@ -289,7 +289,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
|
||||
@Override
|
||||
public boolean dO() {
|
||||
- return true;
|
||||
+ return world.purpurConfig.endermanTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java b/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java
|
||||
index 5e4cc99a746d98231bbb71672fbc02431e4fab48..f52ae7446c16d5b8ac51bd2e12bb51d221ca43ca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EntityStrider.java
|
||||
@@ -405,7 +405,7 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab
|
||||
|
||||
@Override
|
||||
public boolean dO() {
|
||||
- return true;
|
||||
+ return world.purpurConfig.striderTakeDamageFromWater; // Purpur - Toggle for water sensitive mob damage
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 7b0babbd727421ecd05523eadbff3abb758fab6f..faa5df044857f19503b35bbcf7366ac13b2fa2a9 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -629,6 +629,7 @@ public class PurpurWorldConfig {
|
||||
public boolean blazeRidableInWater = false;
|
||||
public double blazeMaxY = 256D;
|
||||
public double blazeMaxHealth = 20.0D;
|
||||
+ public boolean blazeTakeDamageFromWater = true;
|
||||
private void blazeSettings() {
|
||||
blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable);
|
||||
blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater);
|
||||
@@ -639,6 +640,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.blaze.attributes.max_health", oldValue);
|
||||
}
|
||||
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
|
||||
+ blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater);
|
||||
}
|
||||
|
||||
public boolean catRidable = false;
|
||||
@@ -853,6 +855,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanBypassMobGriefing = false;
|
||||
public boolean endermanDespawnEvenWithBlock = false;
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
+ public boolean endermanTakeDamageFromWater = true;
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -865,6 +868,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.enderman.attributes.max_health", oldValue);
|
||||
}
|
||||
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
|
||||
+ endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
|
||||
}
|
||||
|
||||
public boolean endermiteRidable = false;
|
||||
@@ -1554,6 +1558,7 @@ public class PurpurWorldConfig {
|
||||
public float snowGolemSnowBallModifier = 10.0F;
|
||||
public double snowGolemAttackDistance = 1.25D;
|
||||
public double snowGolemMaxHealth = 4.0D;
|
||||
+ public boolean snowGolemTakeDamageFromWater = true;
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
||||
@@ -1571,6 +1576,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.snow_golem.attributes.max_health", oldValue);
|
||||
}
|
||||
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
|
||||
+ snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater);
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
@@ -1624,6 +1630,7 @@ public class PurpurWorldConfig {
|
||||
public int striderBreedingTicks = 6000;
|
||||
public boolean striderGiveSaddleBack = false;
|
||||
public double striderMaxHealth = 20.0D;
|
||||
+ public boolean striderTakeDamageFromWater = true;
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
||||
@@ -1635,6 +1642,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.strider.attributes.max_health", oldValue);
|
||||
}
|
||||
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
|
||||
+ striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater);
|
||||
}
|
||||
|
||||
public boolean tropicalFishRidable = false;
|
||||
Reference in New Issue
Block a user