moreeeeeeeeeeeeeeeeee

This commit is contained in:
Ben Kerllenevich
2021-06-19 09:38:32 -04:00
parent 6aa2876e57
commit 8d7c995fa4
7 changed files with 113 additions and 188 deletions

View File

@@ -0,0 +1,39 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Tue, 13 Oct 2020 20:04:33 -0500
Subject: [PATCH] Allow infinite and mending enchantments together
diff --git a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
index 3aece8245060dd1ba269c08d226c84247a6f0a83..6763d0b96c83d1b462999f525bf1f31c30cf705f 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/ArrowInfiniteEnchantment.java
@@ -24,6 +24,6 @@ public class ArrowInfiniteEnchantment extends Enchantment {
@Override
public boolean checkCompatibility(Enchantment other) {
- return other instanceof MendingEnchantment ? false : super.checkCompatibility(other);
+ return other instanceof MendingEnchantment ? net.pl3x.purpur.PurpurConfig.allowInfinityMending : super.checkCompatibility(other);
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index ebaa80b52f236a8c7376006b4b7f4f37b409c31d..91605de2724dc3b4f533be168719371060ef105d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -196,6 +196,16 @@ public class PurpurConfig {
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
}
+ public static boolean allowInfinityMending = false;
+ private static void enchantmentSettings() {
+ if (version < 5) {
+ boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
+ set("settings.enchantment.allow-infinity-and-mending-together", oldValue);
+ set("settings.enchantment.allow-infinite-and-mending-together", null);
+ }
+ allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
+ }
+
public static boolean endermanShortHeight = false;
private static void entitySettings() {
endermanShortHeight = getBoolean("settings.entity.enderman.short-height", endermanShortHeight);

View File

@@ -0,0 +1,65 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Mon, 19 Oct 2020 15:14:01 -0500
Subject: [PATCH] Infinite fuel furnace
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index de53c9652fd6103c4ee5bdb9304979b675cb2bd7..ad281f15ff8fca4770b6a8c3bb81964a835f7f4f 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -40,6 +40,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.AbstractFurnaceBlock;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.phys.Vec3;
// CraftBukkit start
import org.bukkit.craftbukkit.block.CraftBlock;
@@ -316,6 +317,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
ItemStack itemstack = (ItemStack) blockEntity.items.get(1);
+ // Purpur start
+ boolean infiniteFuel = false;
+ if (world.purpurConfig.furnaceInfiniteFuel && !blockEntity.isLit() && itemstack.isEmpty() && !blockEntity.items.get(0).isEmpty() && world.getGameTime() % 20 == 0) {
+ BlockPos position = blockEntity.getBlockPos().below();
+ BlockState blockState = world.getTypeIfLoaded(pos);
+ if (blockState != null && blockState.is(Blocks.LAVA)) {
+ FluidState fluid = state.getFluidState();
+ if (fluid != null && fluid.isSource()) {
+ world.setBlock(pos, Blocks.AIR.defaultBlockState(), 3);
+ itemstack = Items.LAVA_BUCKET.getDefaultInstance();
+ infiniteFuel = true;
+ }
+ }
+ }
+ // Purpur end
+
if (!blockEntity.isLit() && (itemstack.isEmpty() || ((ItemStack) blockEntity.items.get(0)).isEmpty())) {
if (!blockEntity.isLit() && blockEntity.cookingProgress > 0) {
blockEntity.cookingProgress = Mth.clamp(blockEntity.cookingProgress - 2, 0, blockEntity.cookingTotalTime);
@@ -379,6 +396,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
setChanged(world, pos, state);
}
+ if (infiniteFuel) blockEntity.items.set(1, ItemStack.EMPTY); // Purpur
}
private static boolean canBurn(@Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d1472eb116e82bbb7c0c6aec814371a9935d40b3..994928c1bc24f836f957563780cbb2c1b415ba44 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -410,6 +410,11 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}
+ public boolean furnaceInfiniteFuel = false;
+ private void furnaceSettings() {
+ furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel);
+ }
+
public boolean lavaInfinite = false;
public int lavaInfiniteRequiredSources = 2;
public int lavaSpeedNether = 10;

View File

@@ -0,0 +1,21 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Wed, 4 Nov 2020 13:12:50 -0600
Subject: [PATCH] Arrows should not reset despawn counter
This prevents keeping arrows alive indefinitely (such as when the block
the arrow is stuck in gets removed, like a piston head going up/down)
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index f6fc98ffe49d5af9a69f57f2e53e6010f71d55d9..9f35f72a0bacf3847adedbfbd327ab55c483e85c 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -308,7 +308,7 @@ public abstract class AbstractArrow extends Projectile {
Vec3 vec3d = this.getDeltaMovement();
this.setDeltaMovement(vec3d.multiply((double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F)));
- this.life = 0;
+ // this.life = 0; // PUrpur - do not reset despawn counter
}
@Override

View File

@@ -0,0 +1,42 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: montlikadani <montlikada@gmail.com>
Date: Thu, 12 Nov 2020 11:02:50 +0100
Subject: [PATCH] Add tablist suffix option for afk
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8a0487c8c1c4bcff6d92bcbbadf555b04f04717d..5b395fb6f0e7bee4a24fb2d5b0bc9421b70e5b8d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1956,7 +1956,11 @@ public class ServerPlayer extends Player {
}
if (level.purpurConfig.idleTimeoutUpdateTabList) {
- this.getBukkitEntity().setPlayerListName((afk ? net.pl3x.purpur.PurpurConfig.afkTabListPrefix : "") + this.getName());
+ if (afk) {
+ getBukkitEntity().setPlayerListName(net.pl3x.purpur.PurpurConfig.afkTabListPrefix + getName().getString() + net.pl3x.purpur.PurpurConfig.afkTabListSuffix);
+ } else {
+ getBukkitEntity().setPlayerListName(getName().getString());
+ }
}
((ServerLevel) level).updateSleepingPlayerList();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 91605de2724dc3b4f533be168719371060ef105d..a6c0d16ec697d01ed7576bd8b92e6995e6141681 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -135,12 +135,14 @@ public class PurpurConfig {
public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
+ public static String afkTabListSuffix = "";
public static String pingCommandOutput = "§a%s's ping is %sms";
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
+ afkTabListSuffix = getString("settings.messages.afk-tab-list-suffix", afkTabListSuffix);
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
}