mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 18:37:42 +01:00
7 patches
This commit is contained in:
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager brain ticks
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
index c19030be3e65e317c979610e3cc130ffdf183622..136b6f0f19c9ece222eedbf2b20b118e206ee3e9 100644
|
index 0a2131d7455d7de7c9a3f9d50710da870062e714..4c20685b3d8735272f9f97a75485a6438cef6501 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||||
@@ -141,6 +141,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -137,6 +137,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
}, MemoryModuleType.MEETING_POINT, (entityvillager, villageplacetype) -> {
|
}, MemoryModuleType.MEETING_POINT, (entityvillager, villageplacetype) -> {
|
||||||
return villageplacetype == PoiType.MEETING;
|
return villageplacetype == PoiType.MEETING;
|
||||||
});
|
});
|
||||||
@@ -16,7 +16,7 @@ index c19030be3e65e317c979610e3cc130ffdf183622..136b6f0f19c9ece222eedbf2b20b118e
|
|||||||
|
|
||||||
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
||||||
this(entityType, world, VillagerType.PLAINS);
|
this(entityType, world, VillagerType.PLAINS);
|
||||||
@@ -153,6 +154,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -149,6 +150,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
this.getNavigation().setCanFloat(true);
|
this.getNavigation().setCanFloat(true);
|
||||||
this.setCanPickUpLoot(true);
|
this.setCanPickUpLoot(true);
|
||||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||||
@@ -24,7 +24,7 @@ index c19030be3e65e317c979610e3cc130ffdf183622..136b6f0f19c9ece222eedbf2b20b118e
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Purpur start
|
// Purpur start
|
||||||
@@ -271,6 +273,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
@@ -267,6 +269,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||||
protected void customServerAiStep() { mobTick(false); }
|
protected void customServerAiStep() { mobTick(false); }
|
||||||
protected void mobTick(boolean inactive) {
|
protected void mobTick(boolean inactive) {
|
||||||
this.level.getProfiler().push("villagerBrain");
|
this.level.getProfiler().push("villagerBrain");
|
||||||
@@ -32,7 +32,7 @@ index c19030be3e65e317c979610e3cc130ffdf183622..136b6f0f19c9ece222eedbf2b20b118e
|
|||||||
+ boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
|
+ boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
|
||||||
+ if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
+ if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // CraftBukkit - decompile error // Paper
|
if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||||
this.level.getProfiler().pop();
|
this.level.getProfiler().pop();
|
||||||
if (this.assignProfessionWhenSpawned) {
|
if (this.assignProfessionWhenSpawned) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -5,18 +5,18 @@ Subject: [PATCH] Alternative Keepalive Handling
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index b836820ce38bbb9b0594c4cedcf716b4cf85485f..68d51846987f4c5707cfc9dec737728770a66f11 100644
|
index 479acafb1f8759f3097ee425e26f645c0027ea14..1ada1e8532302c3ab1c4454b3a36cee272deb378 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -228,6 +228,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
@@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||||
private long keepAliveTime = Util.getMillis();
|
private long keepAliveTime = Util.getMillis();
|
||||||
private boolean keepAlivePending;
|
private boolean keepAlivePending;
|
||||||
private long keepAliveChallenge;
|
private long keepAliveChallenge;
|
||||||
+ private java.util.List<Long> keepAlives = new java.util.ArrayList<>(); // Purpur
|
+ private java.util.List<Long> keepAlives = new java.util.ArrayList<>(); // Purpur
|
||||||
// CraftBukkit start - multithreaded fields
|
// CraftBukkit start - multithreaded fields
|
||||||
private AtomicInteger chatSpamTickCount = new AtomicInteger();
|
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
||||||
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
||||||
@@ -372,6 +373,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
@@ -371,6 +372,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||||
long currentTime = Util.getMillis();
|
long currentTime = Util.getMillis();
|
||||||
long elapsedTime = currentTime - this.keepAliveTime;
|
long elapsedTime = currentTime - this.keepAliveTime;
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ index b836820ce38bbb9b0594c4cedcf716b4cf85485f..68d51846987f4c5707cfc9dec7377287
|
|||||||
if (this.keepAlivePending) {
|
if (this.keepAlivePending) {
|
||||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||||
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
||||||
@@ -3112,6 +3128,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
@@ -3045,6 +3061,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||||
@@ -17,7 +17,7 @@ index f763a3ea5796737304e0c1f41349622e1d7adadf..26c5c3c6e7c51ad6ccc9bac05e2af497
|
|||||||
public static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
|
public static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
|
||||||
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
|
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
|
||||||
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
index f68639508d7ff9a0e743b5282301e62435d53656..89d4b7e4cd4222b61b49833fceda56ffa39710fa 100644
|
index 20444c6887cbdd444b23bf018a6d63f22359e5e7..68321b5e425c0500a5691f80203176122cc1bff4 100644
|
||||||
--- a/src/main/java/net/minecraft/world/item/Items.java
|
--- a/src/main/java/net/minecraft/world/item/Items.java
|
||||||
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
+++ b/src/main/java/net/minecraft/world/item/Items.java
|
||||||
@@ -258,7 +258,7 @@ public class Items {
|
@@ -258,7 +258,7 @@ public class Items {
|
||||||
@@ -30,7 +30,7 @@ index f68639508d7ff9a0e743b5282301e62435d53656..89d4b7e4cd4222b61b49833fceda56ff
|
|||||||
public static final Item CHEST = registerBlock(Blocks.CHEST, CreativeModeTab.TAB_DECORATIONS);
|
public static final Item CHEST = registerBlock(Blocks.CHEST, CreativeModeTab.TAB_DECORATIONS);
|
||||||
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE, CreativeModeTab.TAB_DECORATIONS);
|
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE, CreativeModeTab.TAB_DECORATIONS);
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
index b1e04d41de80971a7a1616beb0860226ecc25045..a499cf626a54fcef62bc34bba4193ba0565d8379 100644
|
index 130ffb06b12565efb35afb55b6da20b1b16f6f06..f59883d2b08ff18fd4b7e342f4d899cf08c2ec0f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
@@ -1,9 +1,19 @@
|
@@ -1,9 +1,19 @@
|
||||||
@@ -129,14 +129,14 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..a499cf626a54fcef62bc34bba4193ba0
|
|||||||
@Override
|
@Override
|
||||||
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) {
|
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) {
|
||||||
super.spawnAfterBreak(state, world, pos, stack);
|
super.spawnAfterBreak(state, world, pos, stack);
|
||||||
@@ -42,6 +114,7 @@ public class SpawnerBlock extends BaseEntityBlock {
|
@@ -38,6 +110,7 @@ public class SpawnerBlock extends BaseEntityBlock {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getExpDrop(BlockState iblockdata, ServerLevel worldserver, BlockPos blockposition, ItemStack itemstack) {
|
public int getExpDrop(BlockState iblockdata, ServerLevel worldserver, BlockPos blockposition, ItemStack itemstack) {
|
||||||
+ if (isSilkTouch(worldserver, itemstack)) return 0; // Purpur
|
+ if (isSilkTouch(worldserver, itemstack)) return 0; // Purpur
|
||||||
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
||||||
|
|
||||||
return i;
|
// this.popExperience(worldserver, blockposition, i);
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index 6df320ab8214669517d5de30a28f044a5a6b4a33..8920b47610a323ceb6b19a05b7592d8acf809bc4 100644
|
index 6df320ab8214669517d5de30a28f044a5a6b4a33..8920b47610a323ceb6b19a05b7592d8acf809bc4 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] MC-168772 Fix - Add turtle egg block options
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||||
index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a6d3430cb 100644
|
index 8033d2074d68635515b4737b4416ec9354a3edad..b942e7c85e6c8f9a7664d9e5bf93bcd79e0651f1 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||||
@@ -10,11 +10,15 @@ import net.minecraft.tags.BlockTags;
|
@@ -10,11 +10,15 @@ import net.minecraft.tags.BlockTags;
|
||||||
@@ -17,14 +17,14 @@ index f64aa22ed6fcb4af67317b99f459ee5296392548..36c91793e0aa4895193623cf8cba7820
|
|||||||
public void removeCommand(String name) {
|
public void removeCommand(String name) {
|
||||||
this.children.remove(name);
|
this.children.remove(name);
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||||
index 4aa1dc543950b5de64345b3403a6d0bc41c521df..1c19a64da230268ceb9124bb7e1a141d78ac3393 100644
|
index 0377c706c9aec6f367e83f859f9a3432ad5bba4a..96691990aa3ede953e41df6e3b36bb1eb1e3fd13 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||||
@@ -89,6 +89,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
|
@@ -87,6 +87,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getPermission(CommandNode<CommandSourceStack> vanillaCommand) {
|
public static String getPermission(CommandNode<CommandSourceStack> vanillaCommand) {
|
||||||
+ if (vanillaCommand.getPermission() != null) return vanillaCommand.getPermission(); // Purpur
|
+ if (vanillaCommand.getPermission() != null) return vanillaCommand.getPermission(); // Purpur
|
||||||
// Paper start
|
return "minecraft.command." + ((vanillaCommand.getRedirect() == null) ? vanillaCommand.getName() : vanillaCommand.getRedirect().getName());
|
||||||
final String commandName;
|
}
|
||||||
if (vanillaCommand.getRedirect() == null) {
|
|
||||||
@@ -17,7 +17,7 @@ index f7959fe8d5247504dd79a18010470d98781c7cfe..945fb3200d52b83eaee2e62d6db5c43e
|
|||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
diff --git a/src/main/java/net/minecraft/stats/ServerRecipeBook.java b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
diff --git a/src/main/java/net/minecraft/stats/ServerRecipeBook.java b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||||
index 63a4fa2408edf84b490ca39e824977135d78eff0..461796c9c559f43bd2e0126b12a46bfc41c830a5 100644
|
index ecdac349efbea9e05ac66200c5d0f0385ad1349b..749f3cda15d1f9a0b0c73fa9eda9e58fb285de73 100644
|
||||||
--- a/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
--- a/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||||
+++ b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
+++ b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||||
@@ -122,6 +122,7 @@ public class ServerRecipeBook extends RecipeBook {
|
@@ -122,6 +122,7 @@ public class ServerRecipeBook extends RecipeBook {
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable outdated build check
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index 5b527a32f56a82131168879106f76c1f6cbb7b30..56674053351962a75b2731dde137dbbc0c70dbde 100644
|
index a10cebac752fdf5186eb86bd314f19313864fee0..1533e958718d695b50a3e0c46d005cba49eca6cb 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -269,7 +269,7 @@ public class Main {
|
@@ -269,7 +269,7 @@ public class Main {
|
||||||
Reference in New Issue
Block a user