mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-23 08:59:31 +00:00
Move config patch
This commit is contained in:
@@ -128,10 +128,10 @@ index 5c4bf6d99da409988871465de27e0357af79f37e..ce9873f216cbb330dee4abbdf8b0459f
|
|||||||
.withRequiredArg()
|
.withRequiredArg()
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..4c290eb2d4abf9e9b923b8d0878f319328b7cf8c
|
index 0000000000000000000000000000000000000000..62d8bbd0b2638c725b4c5644a2d5063460fa25c9
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -0,0 +1,309 @@
|
@@ -0,0 +1,696 @@
|
||||||
+package top.leavesmc.leaves;
|
+package top.leavesmc.leaves;
|
||||||
+
|
+
|
||||||
+import com.destroystokyo.paper.util.SneakyThrow;
|
+import com.destroystokyo.paper.util.SneakyThrow;
|
||||||
@@ -150,6 +150,7 @@ index 0000000000000000000000000000000000000000..4c290eb2d4abf9e9b923b8d0878f3193
|
|||||||
+import java.util.List;
|
+import java.util.List;
|
||||||
+import java.util.Map;
|
+import java.util.Map;
|
||||||
+import java.util.logging.Level;
|
+import java.util.logging.Level;
|
||||||
|
+import java.util.Random;
|
||||||
+
|
+
|
||||||
+// Powered by Tuinity(https://github.com/Tuinity/Tuinity)
|
+// Powered by Tuinity(https://github.com/Tuinity/Tuinity)
|
||||||
+
|
+
|
||||||
@@ -266,6 +267,392 @@ index 0000000000000000000000000000000000000000..4c290eb2d4abf9e9b923b8d0878f3193
|
|||||||
+ return LeavesConfig.config.getString(path, dfl);
|
+ return LeavesConfig.config.getString(path, dfl);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
+ static <T> List<T> getList(final String path, final List<T> def) {
|
||||||
|
+ LeavesConfig.config.addDefault(path, def);
|
||||||
|
+ return (List<T>) LeavesConfig.config.getList(path, config.getList(path));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean snowballAndEggCanKnockback = true;
|
||||||
|
+ private static void snowballAndEggCanKnockback() {
|
||||||
|
+ snowballAndEggCanKnockback = getBoolean("settings.modify.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean fakeplayerSupport = true;
|
||||||
|
+ public static List<String> unableFakeplayerNames = List.of("player-name");
|
||||||
|
+ public static int fakeplayerLimit = 10;
|
||||||
|
+ public static String fakeplayerPrefix = "";
|
||||||
|
+ public static String fakeplayerSuffix = "";
|
||||||
|
+ public static boolean alwaysSendFakeplayerData = true;
|
||||||
|
+ public static boolean fakeplayerResident = false;
|
||||||
|
+ public static boolean openFakeplayerInventory = false;
|
||||||
|
+ public static boolean fakeplayerSkipSleep = false;
|
||||||
|
+ private static void fakeplayer() {
|
||||||
|
+ fakeplayerSupport = getBoolean("settings.modify.fakeplayer.enable", fakeplayerSupport);
|
||||||
|
+ unableFakeplayerNames = getList("settings.modify.fakeplayer.unable-fakeplayer-names", unableFakeplayerNames);
|
||||||
|
+ fakeplayerLimit = getInt("settings.modify.fakeplayer.limit", fakeplayerLimit);
|
||||||
|
+ fakeplayerPrefix = getString("settings.modify.fakeplayer.prefix", fakeplayerPrefix);
|
||||||
|
+ fakeplayerSuffix = getString("settings.modify.fakeplayer.suffix", fakeplayerSuffix);
|
||||||
|
+ alwaysSendFakeplayerData = getBoolean("settings.modify.fakeplayer.always-send-data", alwaysSendFakeplayerData);
|
||||||
|
+ fakeplayerResident = getBoolean("settings.modify.fakeplayer.resident-fakeplayer", fakeplayerResident);
|
||||||
|
+ openFakeplayerInventory = getBoolean("settings.modify.fakeplayer.open-fakeplayer-inventory", openFakeplayerInventory);
|
||||||
|
+ fakeplayerSkipSleep = getBoolean("settings.modify.fakeplayer.skip-sleep-check", fakeplayerSkipSleep);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean shearsInDispenserCanZeroAmount = false;
|
||||||
|
+ private static void shearsInDispenserCanZeroAmount() {
|
||||||
|
+ shearsInDispenserCanZeroAmount = getBoolean("settings.modify.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean redstoneShearsWrench = true;
|
||||||
|
+ private static void redstoneShearsWrench() {
|
||||||
|
+ redstoneShearsWrench = getBoolean("settings.modify.redstone-shears-wrench", redstoneShearsWrench);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean buddingAmethystCanPushByPiston = false;
|
||||||
|
+ private static void buddingAmethystCanPushByPiston() {
|
||||||
|
+ buddingAmethystCanPushByPiston = getBoolean("settings.modify.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean spectatorDontGetAdvancement = false;
|
||||||
|
+ private static void spectatorDontGetAdvancement() {
|
||||||
|
+ spectatorDontGetAdvancement = getBoolean("settings.modify.spectator-dont-get-advancement", spectatorDontGetAdvancement);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean stickChangeArmorStandArmStatus = true;
|
||||||
|
+ private static void stickChangeArmorStandHasArm() {
|
||||||
|
+ stickChangeArmorStandArmStatus = getBoolean("settings.modify.stick-change-armorstand-arm-status", stickChangeArmorStandArmStatus);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean noChatSign = true;
|
||||||
|
+ private static void noChatSign() {
|
||||||
|
+ if (LeavesConfig.config.contains("settings.modify.no-chat-sign")) {
|
||||||
|
+ noChatSign = LeavesConfig.config.getBoolean("settings.modify.no-chat-sign");
|
||||||
|
+ LeavesConfig.config.set("settings.modify.no-chat-sign", null);
|
||||||
|
+ }
|
||||||
|
+ noChatSign = getBoolean("settings.misc.no-chat-sign", noChatSign);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean asyncMobSpawning = false;
|
||||||
|
+ private static boolean asyncMobSpawningLock = false;
|
||||||
|
+ private static void asyncMobSpawning() {
|
||||||
|
+ if (!asyncMobSpawningLock) {
|
||||||
|
+ asyncMobSpawning = getBoolean("settings.performance.async-mob-spawning", asyncMobSpawning);
|
||||||
|
+ asyncMobSpawningLock = true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (asyncMobSpawning) {
|
||||||
|
+ asyncMobSpawning = false;
|
||||||
|
+ LeavesLogger.LOGGER.severe("Async MobSpawning is updating, it can't work");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean dontSendUselessEntityPackets = true;
|
||||||
|
+ private static void dontSendUselessEntityPackets() {
|
||||||
|
+ dontSendUselessEntityPackets = getBoolean("settings.performance.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean asyncEntityTracker = false;
|
||||||
|
+ private static boolean asyncEntityTrackerLock = false;
|
||||||
|
+ private static void asyncEntityTracker() {
|
||||||
|
+ if (!asyncEntityTrackerLock) {
|
||||||
|
+ asyncEntityTracker = getBoolean("settings.performance.async-entity-tracker", asyncEntityTracker);
|
||||||
|
+ asyncEntityTrackerLock = true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (asyncEntityTracker) {
|
||||||
|
+ asyncEntityTracker = false;
|
||||||
|
+ LeavesLogger.LOGGER.severe("Async EntityTracker is updating, it can't work");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean fixPaper6045 = true;
|
||||||
|
+ private static void fixPaper6045() {
|
||||||
|
+ fixPaper6045 = getBoolean("settings.performance.fix.fix-paper-6045", fixPaper6045);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean optimizeEntityCoordinateKey = true;
|
||||||
|
+ private static void optimizeEntityCoordinateKey() {
|
||||||
|
+ optimizeEntityCoordinateKey = getBoolean("settings.performance.optimize-entity-coordinate-key", optimizeEntityCoordinateKey);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean enableSuffocationOptimization = true;
|
||||||
|
+ private static void enableSuffocationOptimization() {
|
||||||
|
+ enableSuffocationOptimization = getBoolean("settings.performance.enable-suffocation-optimization", enableSuffocationOptimization);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean entityStripRaytracing = true;
|
||||||
|
+ private static void entityStripRaytracing() {
|
||||||
|
+ entityStripRaytracing = getBoolean("settings.performance.strip-raytracing-for-entity", entityStripRaytracing);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean checkSpookySeasonOnceAnHour = true;
|
||||||
|
+ private static void checkSpookySeasonOnceAnHour() {
|
||||||
|
+ checkSpookySeasonOnceAnHour = getBoolean("settings.performance.check-spooky-season-once-an-hour", checkSpookySeasonOnceAnHour);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean optimizeChunkTicking = true;
|
||||||
|
+ private static boolean optimizeChunkTickingLock = false;
|
||||||
|
+ private static void optimizeChunkTicking() {
|
||||||
|
+ if (!optimizeChunkTickingLock) {
|
||||||
|
+ optimizeChunkTicking = getBoolean("settings.performance.optimize-chunk-ticking", optimizeChunkTicking);
|
||||||
|
+ optimizeChunkTickingLock = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean skipPOIFindingInVehicle = true;
|
||||||
|
+ private static void skipPOIFindingInVehicle() {
|
||||||
|
+ skipPOIFindingInVehicle = getBoolean("settings.performance.skip-poi-find-in-vehicle", skipPOIFindingInVehicle);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean entityTargetFindingOptimization = true;
|
||||||
|
+ private static void entityTargetFindingOptimization() {
|
||||||
|
+ entityTargetFindingOptimization = getBoolean("settings.performance.entity-target-find-optimization", entityTargetFindingOptimization);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean useMoreThreadUnsafeRandom = true;
|
||||||
|
+ private static void useMoreThreadUnsafeRandom() {
|
||||||
|
+ useMoreThreadUnsafeRandom = getBoolean("settings.performance.use-more-thread-unsafe-random", useMoreThreadUnsafeRandom);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean disableMethodProfiler = true;
|
||||||
|
+ private static void disableMethodProfiler() {
|
||||||
|
+ disableMethodProfiler = getBoolean("settings.misc.disable-method-profiler", disableMethodProfiler);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean throttleInactiveGoalSelectorTick = false;
|
||||||
|
+ private static void throttleInactiveGoalSelectorTick() {
|
||||||
|
+ throttleInactiveGoalSelectorTick = getBoolean("settings.performance.inactive-goal-selector-disable", throttleInactiveGoalSelectorTick);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean reduceEntityAllocations = true;
|
||||||
|
+ private static void reduceEntityAllocations() {
|
||||||
|
+ reduceEntityAllocations = getBoolean("settings.performance.reduce-entity-allocations", reduceEntityAllocations);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean removeTickGuardLambda = true;
|
||||||
|
+ private static void removeTickGuardLambda() {
|
||||||
|
+ removeTickGuardLambda = getBoolean("settings.performance.remove.tick-guard-lambda", removeTickGuardLambda);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean removeInventoryContainsIterators = true;
|
||||||
|
+ private static void removeInventoryContainsIterators() {
|
||||||
|
+ removeInventoryContainsIterators = getBoolean("settings.performance.remove.inventory-contains-iterators", removeInventoryContainsIterators);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean removeGetNearPlayerStreams = true;
|
||||||
|
+ private static void removeGetNearPlayerStreams() {
|
||||||
|
+ removeGetNearPlayerStreams = getBoolean("settings.performance.remove.get-nearby-players-streams", removeGetNearPlayerStreams);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean removeRangeCheckStreams = true;
|
||||||
|
+ private static void removeRangeCheckStreams() {
|
||||||
|
+ removeRangeCheckStreams = getBoolean("settings.performance.remove.range-check-streams-and-iterators", removeRangeCheckStreams);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // only config now
|
||||||
|
+ public static boolean asyncPathfinding = false;
|
||||||
|
+ private static boolean asyncPathfindingLock = false;
|
||||||
|
+ private static void asyncPathfinding() {
|
||||||
|
+ if (!asyncPathfindingLock) {
|
||||||
|
+ asyncPathfinding = getBoolean("settings.performance.async-pathfinding", asyncPathfinding);
|
||||||
|
+ asyncPathfindingLock = true;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (asyncPathfinding) {
|
||||||
|
+ asyncPathfinding = false;
|
||||||
|
+ LeavesLogger.LOGGER.severe("Async Pathfinding is updating, it can't work");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean cacheClimbCheck = true;
|
||||||
|
+ private static void cacheClimbCheck() {
|
||||||
|
+ cacheClimbCheck = getBoolean("settings.performance.cache-climb-check", cacheClimbCheck);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean biomeTemperaturesUseAgingCache = true;
|
||||||
|
+ private static boolean biomeTemperaturesUseAgingCacheLock = false;
|
||||||
|
+ private static void biomeTemperaturesUseAgingCache() {
|
||||||
|
+ if (!biomeTemperaturesUseAgingCacheLock) {
|
||||||
|
+ biomeTemperaturesUseAgingCache = getBoolean("settings.performance.biome-temperatures-use-aging-cache", biomeTemperaturesUseAgingCache);
|
||||||
|
+ biomeTemperaturesUseAgingCacheLock = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean reduceEntityFluidLookup = true;
|
||||||
|
+ private static void reduceEntityFluidLookup() {
|
||||||
|
+ reduceEntityFluidLookup = getBoolean("settings.performance.reduce-entity-fluid-lookup", reduceEntityFluidLookup);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean reduceChuckLoadAndLookup = true;
|
||||||
|
+ private static void reduceChuckLoadAndLookup() {
|
||||||
|
+ reduceChuckLoadAndLookup = getBoolean("settings.performance.reduce-chuck-load-and-lookup", reduceChuckLoadAndLookup);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean simplerVanillaShapelessRecipes = true;
|
||||||
|
+ private static void simplerVanillaShapelessRecipes() {
|
||||||
|
+ simplerVanillaShapelessRecipes = getBoolean("settings.performance.simpler-vanilla-shapeless-recipes", simplerVanillaShapelessRecipes);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean pcaSyncProtocol = false;
|
||||||
|
+ private static void pcaSyncProtocol() {
|
||||||
|
+ pcaSyncProtocol = getBoolean("settings.protocol.pca-sync-protocol", pcaSyncProtocol);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static String pcaSyncPlayerEntity = "OPS";
|
||||||
|
+ private static final List<String> pcaSyncPlayerEntityList = List.of("NOBODY", "BOT", "OPS", "OPS_AND_SELF", "EVERYONE");
|
||||||
|
+ private static void pcaSyncPlayerEntity() {
|
||||||
|
+ pcaSyncPlayerEntity = getString("settings.protocol.pca-sync-player-entity", pcaSyncPlayerEntity);
|
||||||
|
+ if (!pcaSyncPlayerEntityList.contains(pcaSyncPlayerEntity)) {
|
||||||
|
+ pcaSyncPlayerEntity = "OPS";
|
||||||
|
+ LeavesLogger.LOGGER.severe("pca-sync-player-entity value error, reset to OPS");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean bborProtocol = false;
|
||||||
|
+ private static void bborProtocol() {
|
||||||
|
+ bborProtocol = getBoolean("settings.protocol.bbor-protocol", bborProtocol);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean instantBlockUpdaterReintroduced = false;
|
||||||
|
+ private static boolean instantBlockUpdaterReintroducedLock = false;
|
||||||
|
+ private static void instantBlockUpdaterReintroduced() {
|
||||||
|
+ if (!instantBlockUpdaterReintroducedLock) {
|
||||||
|
+ instantBlockUpdaterReintroduced = getBoolean("settings.modify.instant-block-updater-reintroduced", instantBlockUpdaterReintroduced);
|
||||||
|
+ instantBlockUpdaterReintroducedLock = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean flattenTriangularDistribution = false;
|
||||||
|
+ private static void flattenTriangularDistribution() {
|
||||||
|
+ flattenTriangularDistribution = getBoolean("settings.modify.flatten-triangular-distribution", flattenTriangularDistribution);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean jadeProtocol = false;
|
||||||
|
+ private static void jadeProtocol() {
|
||||||
|
+ jadeProtocol = getBoolean("settings.protocol.jade-protocol", jadeProtocol);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean carpetAlternativeBlockPlacement = false;
|
||||||
|
+ private static void carpetAlternativeBlockPlacement() {
|
||||||
|
+ carpetAlternativeBlockPlacement = getBoolean("settings.protocol.carpet-alternative-block-placement", carpetAlternativeBlockPlacement);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean playerOperationLimiter = false;
|
||||||
|
+ private static void playerOperationLimiter() {
|
||||||
|
+ playerOperationLimiter = getBoolean("settings.modify.player-operation-limiter", playerOperationLimiter);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static double renewableElytra = -1.0;
|
||||||
|
+ private static void renewableElytra() {
|
||||||
|
+ renewableElytra = getDouble("settings.modify.renewable-elytra", renewableElytra);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static int shulkerBoxStackSize = 1;
|
||||||
|
+ private static String stackableShulkerBoxes = "false";
|
||||||
|
+ private static void stackableShulkerBoxes() {
|
||||||
|
+ stackableShulkerBoxes = getString("settings.modify.stackable-shulker-boxes", stackableShulkerBoxes);
|
||||||
|
+ stackableShulkerBoxes = MathUtils.isNumeric(stackableShulkerBoxes) ? stackableShulkerBoxes : stackableShulkerBoxes.equals("true") ? "2" : "1";
|
||||||
|
+ shulkerBoxStackSize = Integer.parseInt(stackableShulkerBoxes);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean improveFluidDirectionCaching = true;
|
||||||
|
+ private static boolean improveFluidDirectionCachingLock = false;
|
||||||
|
+ private static void improveFluidDirectionCaching() {
|
||||||
|
+ if (!improveFluidDirectionCachingLock) {
|
||||||
|
+ improveFluidDirectionCaching = getBoolean("settings.performance.improve-fluid-direction-caching", improveFluidDirectionCaching);
|
||||||
|
+ improveFluidDirectionCachingLock = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean mcTechnicalMode = true;
|
||||||
|
+ private static void mcTechnicalMode() {
|
||||||
|
+ mcTechnicalMode = getBoolean("settings.modify.mc-technical-survival-mode", mcTechnicalMode); // TODO better name?
|
||||||
|
+ doMcTechnicalMode();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static void doMcTechnicalMode() {
|
||||||
|
+ if (mcTechnicalMode) {
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean netherPortalFix = false;
|
||||||
|
+ private static void netherPortalFix() {
|
||||||
|
+ netherPortalFix = getBoolean("settings.modify.return-nether-portal-fix", netherPortalFix);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean appleskinProtocol = false;
|
||||||
|
+ private static void appleskinProtocol() {
|
||||||
|
+ appleskinProtocol = getBoolean("settings.protocol.appleskin-protocol", appleskinProtocol);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean xaeroMapProtocol = false;
|
||||||
|
+ public static int xaeroMapServerID = new Random().nextInt();
|
||||||
|
+ private static void xaeroMapProtocol() {
|
||||||
|
+ xaeroMapProtocol = getBoolean("settings.protocol.xaero-map-protocol", xaeroMapProtocol);
|
||||||
|
+ xaeroMapServerID = getInt("settings.protocol.xaero-map-server-id", xaeroMapServerID);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean extraYggdrasilService = false;
|
||||||
|
+ public static List<String> extraYggdrasilServiceList = List.of("https://url.with.authlib-injector-yggdrasil");
|
||||||
|
+ private static void extraYggdrasilService() {
|
||||||
|
+ extraYggdrasilService = getBoolean("settings.misc.extra-yggdrasil-service.enable", extraYggdrasilService);
|
||||||
|
+ extraYggdrasilServiceList = getList("settings.misc.extra-yggdrasil-service.urls", extraYggdrasilServiceList);
|
||||||
|
+ if (extraYggdrasilService) {
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean useVanillaRandom = false;
|
||||||
|
+ private static boolean useVanillaRandomLock = false;
|
||||||
|
+ private static void useVanillaRandom() {
|
||||||
|
+ if (!useVanillaRandomLock) {
|
||||||
|
+ useVanillaRandom = getBoolean("settings.modify.use-vanilla-random", useVanillaRandom);
|
||||||
|
+ useVanillaRandomLock = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean updateSuppressionCrashFix = true;
|
||||||
|
+ private static void updateSuppressionCrashFix() {
|
||||||
|
+ updateSuppressionCrashFix = getBoolean("settings.modify.fix-update-suppression-crash", updateSuppressionCrashFix);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean bedrockBreakList = false;
|
||||||
|
+ private static boolean bedrockBreakListLock = false;
|
||||||
|
+ private static void bedrockBreakList() {
|
||||||
|
+ if (!bedrockBreakListLock) {
|
||||||
|
+ bedrockBreakList = getBoolean("settings.modify.bedrock-break-list", bedrockBreakList);
|
||||||
|
+ bedrockBreakListLock = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean syncmaticaProtocol = false;
|
||||||
|
+ public static boolean syncmaticaQuota = false;
|
||||||
|
+ public static int syncmaticaQuotaLimit = 40000000;
|
||||||
|
+ private static void syncmaticaProtocol() {
|
||||||
|
+ syncmaticaProtocol = getBoolean("settings.protocol.syncmatica.enable", syncmaticaProtocol);
|
||||||
|
+ syncmaticaQuota = getBoolean("settings.protocol.syncmatica.quota", syncmaticaQuota);
|
||||||
|
+ syncmaticaQuotaLimit = getInt("settings.protocol.syncmatica.quota-limit", syncmaticaQuotaLimit);
|
||||||
|
+ if (syncmaticaProtocol) {
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean disableDistanceCheckForUseItem = false;
|
||||||
|
+ private static void disableDistanceCheckForUseItem() {
|
||||||
|
+ disableDistanceCheckForUseItem = getBoolean("settings.modify.disable-distance-check-for-use-item", disableDistanceCheckForUseItem);
|
||||||
|
+ if (carpetAlternativeBlockPlacement) {
|
||||||
|
+ disableDistanceCheckForUseItem = true;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean noFeatherFallingTrample = false;
|
||||||
|
+ private static void noFeatherFallingTrample() {
|
||||||
|
+ noFeatherFallingTrample = getBoolean("settings.modify.no-feather-falling-trample", noFeatherFallingTrample);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ public static boolean sharedVillagerDiscounts = false;
|
||||||
|
+ private static void sharedVillagerDiscounts() {
|
||||||
|
+ sharedVillagerDiscounts = getBoolean("settings.modify.shared-villager-discounts", sharedVillagerDiscounts);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ public static final class WorldConfig {
|
+ public static final class WorldConfig {
|
||||||
+
|
+
|
||||||
+ public final String worldName;
|
+ public final String worldName;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Make snowball and egg can knockback player
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||||
index 6cded52e4627c2b6073fa221fc6d6583f1b2a96d..faae95a9bb707e40deeca275814213773e3b765d 100644
|
index 718e120c9768cf716b32d3d652f53f1dda925168..21f5c59e7e01ffefdb077d1aa9853935a8fa6b0f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||||
@@ -3,6 +3,7 @@ package net.minecraft.world.entity.projectile;
|
@@ -3,6 +3,7 @@ package net.minecraft.world.entity.projectile;
|
||||||
@@ -30,7 +30,7 @@ index 6cded52e4627c2b6073fa221fc6d6583f1b2a96d..faae95a9bb707e40deeca27581421377
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
||||||
index 326eb972078e5dd700372c9ba09ea7f8415b144e..2d7f314fc03103face462ac55979ddd78734a339 100644
|
index 6fd803f831cab088a67062ce8624b30338771d8e..b3835e66a395cb25e0d11876c87fb83f221d5f57 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
||||||
@@ -45,7 +45,14 @@ public class ThrownEgg extends ThrowableItemProjectile {
|
@@ -45,7 +45,14 @@ public class ThrownEgg extends ThrowableItemProjectile {
|
||||||
@@ -48,29 +48,3 @@ index 326eb972078e5dd700372c9ba09ea7f8415b144e..2d7f314fc03103face462ac55979ddd7
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index d6abf25f70f6f5a19787c72e87fddd2801b47def..1fb25e8a21b568864974cc81b452ba062890d593 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -94,7 +94,9 @@ public final class LeavesConfig {
|
|
||||||
private static void updateConfigVersion(final YamlConfiguration config) {
|
|
||||||
if (configVersion < CURRENT_CONFIG_VERSION) {
|
|
||||||
playerCanEditSign = config.getBoolean("settings.player-can-edit-sign", playerCanEditSign);
|
|
||||||
+ snowballAndEggCanKnockback = config.getBoolean("settings.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
|
||||||
|
|
||||||
+ config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -139,6 +141,11 @@ public final class LeavesConfig {
|
|
||||||
playerCanEditSign = getBoolean("settings.modify.player-can-edit-sign", playerCanEditSign);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean snowballAndEggCanKnockback = true;
|
|
||||||
+ private static void snowballAndEggCanKnockback() {
|
|
||||||
+ snowballAndEggCanKnockback = getBoolean("settings.modify.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Thu, 27 Jan 2022 20:11:05 +0800
|
|
||||||
Subject: [PATCH] Player can edit sign
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/SignBlock.java b/src/main/java/net/minecraft/world/level/block/SignBlock.java
|
|
||||||
index 91bb294be2cd8ab3467a62006a5a2751e0bec4ba..4b2b2ce69be485452fd907d8afce1250b730340f 100644
|
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/SignBlock.java
|
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/SignBlock.java
|
|
||||||
@@ -76,9 +76,8 @@ public abstract class SignBlock extends BaseEntityBlock implements SimpleWaterlo
|
|
||||||
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
|
|
||||||
ItemStack itemStack = player.getItemInHand(hand);
|
|
||||||
Item item = itemStack.getItem();
|
|
||||||
- Item signBlockEntity = itemStack.getItem();
|
|
||||||
SignApplicator var10000;
|
|
||||||
- if (signBlockEntity instanceof SignApplicator signApplicator) {
|
|
||||||
+ if (item instanceof SignApplicator signApplicator) {
|
|
||||||
var10000 = signApplicator;
|
|
||||||
} else {
|
|
||||||
var10000 = null;
|
|
||||||
@@ -86,8 +85,7 @@ public abstract class SignBlock extends BaseEntityBlock implements SimpleWaterlo
|
|
||||||
|
|
||||||
SignApplicator signApplicator2 = var10000;
|
|
||||||
boolean bl = signApplicator2 != null && player.mayBuild();
|
|
||||||
- BlockEntity bl2 = world.getBlockEntity(pos);
|
|
||||||
- if (bl2 instanceof SignBlockEntity signBlockEntity) {
|
|
||||||
+ if (world.getBlockEntity(pos) instanceof SignBlockEntity signBlockEntity) {
|
|
||||||
if (!world.isClientSide) {
|
|
||||||
boolean bl2 = signBlockEntity.isFacingFrontText(player);
|
|
||||||
SignText signText = signBlockEntity.getText(bl2);
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 4c290eb2d4abf9e9b923b8d0878f319328b7cf8c..d6abf25f70f6f5a19787c72e87fddd2801b47def 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -93,7 +93,9 @@ public final class LeavesConfig {
|
|
||||||
|
|
||||||
private static void updateConfigVersion(final YamlConfiguration config) {
|
|
||||||
if (configVersion < CURRENT_CONFIG_VERSION) {
|
|
||||||
+ playerCanEditSign = config.getBoolean("settings.player-can-edit-sign", playerCanEditSign);
|
|
||||||
|
|
||||||
+ config.set("settings.player-can-edit-sign", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -132,6 +134,11 @@ public final class LeavesConfig {
|
|
||||||
return LeavesConfig.config.getString(path, dfl);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean playerCanEditSign = true;
|
|
||||||
+ private static void playerCanEditSign() {
|
|
||||||
+ playerCanEditSign = getBoolean("settings.modify.player-can-edit-sign", playerCanEditSign);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -236,19 +236,20 @@ index ea056babe2f8123f20dc608d8a636da1de634b8c..7856337718f62b1bf4df52264e677405
|
|||||||
}
|
}
|
||||||
// Water Animals
|
// Water Animals
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 1fb25e8a21b568864974cc81b452ba062890d593..816d78268db3d0be0a70ff3c78e74b520f9b525e 100644
|
index 62d8bbd0b2638c725b4c5644a2d5063460fa25c9..b71496a3c0d9f9d69dadb652e2f35c09cf906bc0 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -7,6 +7,8 @@ import org.bukkit.Bukkit;
|
@@ -7,6 +7,9 @@ import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
+import top.leavesmc.leaves.bot.BotCommand;
|
+import top.leavesmc.leaves.bot.BotCommand;
|
||||||
+import top.leavesmc.leaves.bot.agent.Actions;
|
+import top.leavesmc.leaves.bot.agent.Actions;
|
||||||
|
+import top.leavesmc.leaves.util.MathUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
@@ -65,6 +67,11 @@ public final class LeavesConfig {
|
@@ -66,6 +69,11 @@ public final class LeavesConfig {
|
||||||
LeavesConfig.load(config);
|
LeavesConfig.load(config);
|
||||||
|
|
||||||
commands = new HashMap<>();
|
commands = new HashMap<>();
|
||||||
@@ -260,60 +261,6 @@ index 1fb25e8a21b568864974cc81b452ba062890d593..816d78268db3d0be0a70ff3c78e74b52
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void load(final YamlConfiguration config) {
|
public static void load(final YamlConfiguration config) {
|
||||||
@@ -95,9 +102,12 @@ public final class LeavesConfig {
|
|
||||||
if (configVersion < CURRENT_CONFIG_VERSION) {
|
|
||||||
playerCanEditSign = config.getBoolean("settings.player-can-edit-sign", playerCanEditSign);
|
|
||||||
snowballAndEggCanKnockback = config.getBoolean("settings.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
|
||||||
+ fakeplayerSupport = config.getBoolean("settings.fakeplayer.enable", fakeplayerSupport);
|
|
||||||
+ unableFakeplayerNames = (List<String>) config.getList("settings.fakeplayer.unable-fakeplayer-names", unableFakeplayerNames);
|
|
||||||
|
|
||||||
config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
+ config.set("settings.fakeplayer", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -136,6 +146,12 @@ public final class LeavesConfig {
|
|
||||||
return LeavesConfig.config.getString(path, dfl);
|
|
||||||
}
|
|
||||||
|
|
||||||
+
|
|
||||||
+ static <T> List<T> getList(final String path, final List<T> def) {
|
|
||||||
+ LeavesConfig.config.addDefault(path, def);
|
|
||||||
+ return (List<T>) LeavesConfig.config.getList(path, config.getList(path));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static boolean playerCanEditSign = true;
|
|
||||||
private static void playerCanEditSign() {
|
|
||||||
playerCanEditSign = getBoolean("settings.modify.player-can-edit-sign", playerCanEditSign);
|
|
||||||
@@ -146,6 +162,27 @@ public final class LeavesConfig {
|
|
||||||
snowballAndEggCanKnockback = getBoolean("settings.modify.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean fakeplayerSupport = true;
|
|
||||||
+ public static List<String> unableFakeplayerNames = List.of("player-name");
|
|
||||||
+ public static int fakeplayerLimit = 10;
|
|
||||||
+ public static String fakeplayerPrefix = "";
|
|
||||||
+ public static String fakeplayerSuffix = "";
|
|
||||||
+ public static boolean alwaysSendFakeplayerData = true;
|
|
||||||
+ public static boolean fakeplayerResident = false;
|
|
||||||
+ public static boolean openFakeplayerInventory = false;
|
|
||||||
+ public static boolean fakeplayerSkipSleep = false;
|
|
||||||
+ private static void fakeplayer() {
|
|
||||||
+ fakeplayerSupport = getBoolean("settings.modify.fakeplayer.enable", fakeplayerSupport);
|
|
||||||
+ unableFakeplayerNames = getList("settings.modify.fakeplayer.unable-fakeplayer-names", unableFakeplayerNames);
|
|
||||||
+ fakeplayerLimit = getInt("settings.modify.fakeplayer.limit", fakeplayerLimit);
|
|
||||||
+ fakeplayerPrefix = getString("settings.modify.fakeplayer.prefix", fakeplayerPrefix);
|
|
||||||
+ fakeplayerSuffix = getString("settings.modify.fakeplayer.suffix", fakeplayerSuffix);
|
|
||||||
+ alwaysSendFakeplayerData = getBoolean("settings.modify.fakeplayer.always-send-data", alwaysSendFakeplayerData);
|
|
||||||
+ fakeplayerResident = getBoolean("settings.modify.fakeplayer.resident-fakeplayer", fakeplayerResident);
|
|
||||||
+ openFakeplayerInventory = getBoolean("settings.modify.fakeplayer.open-fakeplayer-inventory", openFakeplayerInventory);
|
|
||||||
+ fakeplayerSkipSleep = getBoolean("settings.modify.fakeplayer.skip-sleep-check", fakeplayerSkipSleep);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/bot/BotCommand.java b/src/main/java/top/leavesmc/leaves/bot/BotCommand.java
|
diff --git a/src/main/java/top/leavesmc/leaves/bot/BotCommand.java b/src/main/java/top/leavesmc/leaves/bot/BotCommand.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..9227559cd0aefe82d7f53a79b464be1d064b3ae1
|
index 0000000000000000000000000000000000000000..9227559cd0aefe82d7f53a79b464be1d064b3ae1
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||||
|
Date: Sun, 27 Feb 2022 14:07:57 +0800
|
||||||
|
Subject: [PATCH] Make shears in dispenser can unlimited use
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||||
|
index 9b0049dfeaec9b688bf276f2ac2b18943b5696b2..8a7733f83c2ba0c73069357184d77eee57959a07 100644
|
||||||
|
--- a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||||
|
+++ b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||||
|
@@ -63,7 +63,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
|
||||||
|
BlockPos blockposition = pointer.getPos().relative((Direction) pointer.getBlockState().getValue(DispenserBlock.FACING));
|
||||||
|
|
||||||
|
this.setSuccess(ShearsDispenseItemBehavior.tryShearBeehive(worldserver, blockposition) || ShearsDispenseItemBehavior.tryShearLivingEntity(worldserver, blockposition, bukkitBlock, craftItem)); // CraftBukkit
|
||||||
|
- if (this.isSuccess() && stack.hurt(1, worldserver.getRandom(), (ServerPlayer) null)) {
|
||||||
|
+ if (this.isSuccess() && stack.hurt(1, worldserver.getRandom(), (ServerPlayer) null) && !top.leavesmc.leaves.LeavesConfig.shearsInDispenserCanZeroAmount) { // Leaves - Make shears in dispenser can unlimited use
|
||||||
|
stack.setCount(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Sun, 27 Feb 2022 14:07:57 +0800
|
|
||||||
Subject: [PATCH] Make shears in dispenser can unlimited use
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
|
||||||
index 9b0049dfeaec9b688bf276f2ac2b18943b5696b2..8a7733f83c2ba0c73069357184d77eee57959a07 100644
|
|
||||||
--- a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
|
||||||
+++ b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
|
||||||
@@ -63,7 +63,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
|
|
||||||
BlockPos blockposition = pointer.getPos().relative((Direction) pointer.getBlockState().getValue(DispenserBlock.FACING));
|
|
||||||
|
|
||||||
this.setSuccess(ShearsDispenseItemBehavior.tryShearBeehive(worldserver, blockposition) || ShearsDispenseItemBehavior.tryShearLivingEntity(worldserver, blockposition, bukkitBlock, craftItem)); // CraftBukkit
|
|
||||||
- if (this.isSuccess() && stack.hurt(1, worldserver.getRandom(), (ServerPlayer) null)) {
|
|
||||||
+ if (this.isSuccess() && stack.hurt(1, worldserver.getRandom(), (ServerPlayer) null) && !top.leavesmc.leaves.LeavesConfig.shearsInDispenserCanZeroAmount) { // Leaves - Make shears in dispenser can unlimited use
|
|
||||||
stack.setCount(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 816d78268db3d0be0a70ff3c78e74b520f9b525e..875e4842274388c098e36b1ec0b9c6d69389646b 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -104,10 +104,12 @@ public final class LeavesConfig {
|
|
||||||
snowballAndEggCanKnockback = config.getBoolean("settings.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
|
||||||
fakeplayerSupport = config.getBoolean("settings.fakeplayer.enable", fakeplayerSupport);
|
|
||||||
unableFakeplayerNames = (List<String>) config.getList("settings.fakeplayer.unable-fakeplayer-names", unableFakeplayerNames);
|
|
||||||
+ shearsInDispenserCanZeroAmount = config.getBoolean("settings.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
|
||||||
|
|
||||||
config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
config.set("settings.fakeplayer", null);
|
|
||||||
+ config.set("settings.shears-in-dispenser-can-zero-amount", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -183,6 +185,11 @@ public final class LeavesConfig {
|
|
||||||
fakeplayerSkipSleep = getBoolean("settings.modify.fakeplayer.skip-sleep-check", fakeplayerSkipSleep);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean shearsInDispenserCanZeroAmount = false;
|
|
||||||
+ private static void shearsInDispenserCanZeroAmount() {
|
|
||||||
+ shearsInDispenserCanZeroAmount = getBoolean("settings.modify.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -98,33 +98,3 @@ index a6ebb08a8f9681fd3a35de5d0e268f320e31ce1a..7c3c3a28a95c58caa83e283cdbb472b2
|
|||||||
+ }
|
+ }
|
||||||
+ // Leaves end - shears wrench
|
+ // Leaves end - shears wrench
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 875e4842274388c098e36b1ec0b9c6d69389646b..c763ad196bb736b84dc76678267af4a91090ea30 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -105,11 +105,13 @@ public final class LeavesConfig {
|
|
||||||
fakeplayerSupport = config.getBoolean("settings.fakeplayer.enable", fakeplayerSupport);
|
|
||||||
unableFakeplayerNames = (List<String>) config.getList("settings.fakeplayer.unable-fakeplayer-names", unableFakeplayerNames);
|
|
||||||
shearsInDispenserCanZeroAmount = config.getBoolean("settings.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
|
||||||
+ redstoneShearsWrench = config.getBoolean("settings.redstone-shears-wrench", redstoneShearsWrench);
|
|
||||||
|
|
||||||
config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
config.set("settings.fakeplayer", null);
|
|
||||||
config.set("settings.shears-in-dispenser-can-zero-amount", null);
|
|
||||||
+ config.set("settings.redstone-shears-wrench", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -190,6 +192,11 @@ public final class LeavesConfig {
|
|
||||||
shearsInDispenserCanZeroAmount = getBoolean("settings.modify.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean redstoneShearsWrench = true;
|
|
||||||
+ private static void redstoneShearsWrench() {
|
|
||||||
+ redstoneShearsWrench = getBoolean("settings.modify.redstone-shears-wrench", redstoneShearsWrench);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||||
|
Date: Sun, 3 Apr 2022 11:31:04 +0800
|
||||||
|
Subject: [PATCH] Budding Amethyst can push by piston
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
index b71496a3c0d9f9d69dadb652e2f35c09cf906bc0..da2fc9a9e1ff9d8c8bcb1e325916ae0eaff29b1e 100644
|
||||||
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
@@ -184,7 +184,7 @@ public final class LeavesConfig {
|
||||||
|
|
||||||
|
public static boolean buddingAmethystCanPushByPiston = false;
|
||||||
|
private static void buddingAmethystCanPushByPiston() {
|
||||||
|
- buddingAmethystCanPushByPiston = getBoolean("settings.modify.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
||||||
|
+ buddingAmethystCanPushByPiston = getBoolean("settings.modify.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston); // void
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean spectatorDontGetAdvancement = false;
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Sun, 3 Apr 2022 11:31:04 +0800
|
|
||||||
Subject: [PATCH] Budding Amethyst can push by piston
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index c763ad196bb736b84dc76678267af4a91090ea30..5deb90e39bbdf722f63be6abdad28aca46cb1458 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -106,12 +106,14 @@ public final class LeavesConfig {
|
|
||||||
unableFakeplayerNames = (List<String>) config.getList("settings.fakeplayer.unable-fakeplayer-names", unableFakeplayerNames);
|
|
||||||
shearsInDispenserCanZeroAmount = config.getBoolean("settings.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
|
||||||
redstoneShearsWrench = config.getBoolean("settings.redstone-shears-wrench", redstoneShearsWrench);
|
|
||||||
+ buddingAmethystCanPushByPiston = config.getBoolean("settings.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
|
||||||
|
|
||||||
config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
config.set("settings.fakeplayer", null);
|
|
||||||
config.set("settings.shears-in-dispenser-can-zero-amount", null);
|
|
||||||
config.set("settings.redstone-shears-wrench", null);
|
|
||||||
+ config.set("settings.budding-amethyst-can-push-by-piston", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -197,6 +199,11 @@ public final class LeavesConfig {
|
|
||||||
redstoneShearsWrench = getBoolean("settings.modify.redstone-shears-wrench", redstoneShearsWrench);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean buddingAmethystCanPushByPiston = false;
|
|
||||||
+ private static void buddingAmethystCanPushByPiston() {
|
|
||||||
+ buddingAmethystCanPushByPiston = getBoolean("settings.modify.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
30
patches/server/0013-Spectator-dont-get-Advancement.patch
Normal file
30
patches/server/0013-Spectator-dont-get-Advancement.patch
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||||
|
Date: Sat, 25 Jun 2022 18:04:35 +0800
|
||||||
|
Subject: [PATCH] Spectator dont get Advancement
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
|
index 7fc87841fd72fc9b5bca4fbdffd378c7b75920e1..fd9e85dab7c511873824cac56a270ff435792292 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
|
@@ -43,6 +43,7 @@ import net.minecraft.server.level.ServerPlayer;
|
||||||
|
import net.minecraft.server.players.PlayerList;
|
||||||
|
import net.minecraft.util.datafix.DataFixTypes;
|
||||||
|
import net.minecraft.world.level.GameRules;
|
||||||
|
+import net.minecraft.world.level.GameType;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import top.leavesmc.leaves.bot.ServerBot;
|
||||||
|
|
||||||
|
@@ -230,6 +231,11 @@ public class PlayerAdvancements {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Leaves end - bot can't get advancement
|
||||||
|
+ // Leaves start - spectator don't get advancement
|
||||||
|
+ if (top.leavesmc.leaves.LeavesConfig.spectatorDontGetAdvancement && player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR) {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+ // Leaves end - spectator don't get advancement
|
||||||
|
boolean flag = false;
|
||||||
|
AdvancementProgress advancementprogress = this.getOrStartProgress(advancement);
|
||||||
|
boolean flag1 = advancementprogress.isDone();
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Sat, 25 Jun 2022 18:04:35 +0800
|
|
||||||
Subject: [PATCH] Spectator dont get Advancement
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
||||||
index a1ce0cce055ad5c92b0f20760471795f08f0c886..6a5025e54c4bf4396f1f18a81d9db912848a2545 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
||||||
@@ -43,6 +43,7 @@ import net.minecraft.server.level.ServerPlayer;
|
|
||||||
import net.minecraft.server.players.PlayerList;
|
|
||||||
import net.minecraft.util.datafix.DataFixTypes;
|
|
||||||
import net.minecraft.world.level.GameRules;
|
|
||||||
+import net.minecraft.world.level.GameType;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import top.leavesmc.leaves.bot.ServerBot;
|
|
||||||
|
|
||||||
@@ -230,6 +231,11 @@ public class PlayerAdvancements {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// Leaves end - bot can't get advancement
|
|
||||||
+ // Leaves start - spectator don't get advancement
|
|
||||||
+ if (top.leavesmc.leaves.LeavesConfig.spectatorDontGetAdvancement && player.gameMode.getGameModeForPlayer() == GameType.SPECTATOR) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ // Leaves end - spectator don't get advancement
|
|
||||||
boolean flag = false;
|
|
||||||
AdvancementProgress advancementprogress = this.getOrStartProgress(advancement);
|
|
||||||
boolean flag1 = advancementprogress.isDone();
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 5deb90e39bbdf722f63be6abdad28aca46cb1458..6ef5bae104cff51ada4efc631b93067067c71941 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -107,6 +107,7 @@ public final class LeavesConfig {
|
|
||||||
shearsInDispenserCanZeroAmount = config.getBoolean("settings.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
|
||||||
redstoneShearsWrench = config.getBoolean("settings.redstone-shears-wrench", redstoneShearsWrench);
|
|
||||||
buddingAmethystCanPushByPiston = config.getBoolean("settings.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
|
||||||
+ spectatorDontGetAdvancement = config.getBoolean("settings.spectator-dont-get-advancement", spectatorDontGetAdvancement);
|
|
||||||
|
|
||||||
config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
@@ -114,6 +115,7 @@ public final class LeavesConfig {
|
|
||||||
config.set("settings.shears-in-dispenser-can-zero-amount", null);
|
|
||||||
config.set("settings.redstone-shears-wrench", null);
|
|
||||||
config.set("settings.budding-amethyst-can-push-by-piston", null);
|
|
||||||
+ config.set("settings.spectator-dont-get-advancement", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -203,6 +205,11 @@ public final class LeavesConfig {
|
|
||||||
private static void buddingAmethystCanPushByPiston() {
|
|
||||||
buddingAmethystCanPushByPiston = getBoolean("settings.modify.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static boolean spectatorDontGetAdvancement = false;
|
|
||||||
+ private static void spectatorDontGetAdvancement() {
|
|
||||||
+ spectatorDontGetAdvancement = getBoolean("settings.modify.spectator-dont-get-advancement", spectatorDontGetAdvancement);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||||
|
Date: Sat, 25 Jun 2022 19:54:23 +0800
|
||||||
|
Subject: [PATCH] Stick can change ArmorStand arm status
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||||
|
index 8a8b9e8983be1acad66ad875c901be5bbdeabb1f..89f3466212800b5fac8a57d70fbc5a3028fbb29d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||||
|
@@ -385,6 +385,12 @@ public class ArmorStand extends LivingEntity {
|
||||||
|
return InteractionResult.SUCCESS;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
+ // Leaves start - stick can change ArmorStand arm status
|
||||||
|
+ if (top.leavesmc.leaves.LeavesConfig.stickChangeArmorStandArmStatus && itemstack.is(Items.STICK) && player.isShiftKeyDown()) {
|
||||||
|
+ setShowArms(!isShowArms());
|
||||||
|
+ }
|
||||||
|
+ // Leaves end - stick can change ArmorStand arm status
|
||||||
|
+
|
||||||
|
if (this.isDisabled(enumitemslot)) {
|
||||||
|
return InteractionResult.FAIL;
|
||||||
|
}
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Sat, 25 Jun 2022 19:54:23 +0800
|
|
||||||
Subject: [PATCH] Stick can change ArmorStand arm status
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
|
||||||
index 3677dd991ae73428984e62e4d6fb757317987887..3b488949ba5cd7465e4de3955e5430fc710322cc 100644
|
|
||||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
|
||||||
@@ -385,6 +385,12 @@ public class ArmorStand extends LivingEntity {
|
|
||||||
return InteractionResult.SUCCESS;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
+ // Leaves start - stick can change ArmorStand arm status
|
|
||||||
+ if (top.leavesmc.leaves.LeavesConfig.stickChangeArmorStandArmStatus && itemstack.is(Items.STICK) && player.isShiftKeyDown()) {
|
|
||||||
+ setShowArms(!isShowArms());
|
|
||||||
+ }
|
|
||||||
+ // Leaves end - stick can change ArmorStand arm status
|
|
||||||
+
|
|
||||||
if (this.isDisabled(enumitemslot)) {
|
|
||||||
return InteractionResult.FAIL;
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 6ef5bae104cff51ada4efc631b93067067c71941..6fc915534c172cc7d2b9eea806b23f54018b78ce 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -108,6 +108,7 @@ public final class LeavesConfig {
|
|
||||||
redstoneShearsWrench = config.getBoolean("settings.redstone-shears-wrench", redstoneShearsWrench);
|
|
||||||
buddingAmethystCanPushByPiston = config.getBoolean("settings.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
|
||||||
spectatorDontGetAdvancement = config.getBoolean("settings.spectator-dont-get-advancement", spectatorDontGetAdvancement);
|
|
||||||
+ stickChangeArmorStandArmStatus = config.getBoolean("settings.stick-change-armorstand-arm-status", stickChangeArmorStandArmStatus);
|
|
||||||
|
|
||||||
config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
@@ -116,6 +117,7 @@ public final class LeavesConfig {
|
|
||||||
config.set("settings.redstone-shears-wrench", null);
|
|
||||||
config.set("settings.budding-amethyst-can-push-by-piston", null);
|
|
||||||
config.set("settings.spectator-dont-get-advancement", null);
|
|
||||||
+ config.set("settings.stick-change-armorstand-arm-status", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -210,6 +212,11 @@ public final class LeavesConfig {
|
|
||||||
private static void spectatorDontGetAdvancement() {
|
|
||||||
spectatorDontGetAdvancement = getBoolean("settings.modify.spectator-dont-get-advancement", spectatorDontGetAdvancement);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static boolean stickChangeArmorStandArmStatus = true;
|
|
||||||
+ private static void stickChangeArmorStandHasArm() {
|
|
||||||
+ stickChangeArmorStandArmStatus = getBoolean("settings.modify.stick-change-armorstand-arm-status", stickChangeArmorStandArmStatus);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
@@ -167,39 +167,3 @@ index 4eaf7ae37557075ebe735827861507bee6b61eed..794386d40e2f53f2707b401907af5bb7
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 6fc915534c172cc7d2b9eea806b23f54018b78ce..ce3c88c1cdb58f63aecc87b9900f8cf7c6144908 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -109,6 +109,7 @@ public final class LeavesConfig {
|
|
||||||
buddingAmethystCanPushByPiston = config.getBoolean("settings.budding-amethyst-can-push-by-piston", buddingAmethystCanPushByPiston);
|
|
||||||
spectatorDontGetAdvancement = config.getBoolean("settings.spectator-dont-get-advancement", spectatorDontGetAdvancement);
|
|
||||||
stickChangeArmorStandArmStatus = config.getBoolean("settings.stick-change-armorstand-arm-status", stickChangeArmorStandArmStatus);
|
|
||||||
+ noChatSign = config.getBoolean("settings.no-chat-sign", noChatSign);
|
|
||||||
|
|
||||||
config.set("settings.snowball-and-egg-can-knockback-player", null);
|
|
||||||
config.set("settings.player-can-edit-sign", null);
|
|
||||||
@@ -118,6 +119,7 @@ public final class LeavesConfig {
|
|
||||||
config.set("settings.budding-amethyst-can-push-by-piston", null);
|
|
||||||
config.set("settings.spectator-dont-get-advancement", null);
|
|
||||||
config.set("settings.stick-change-armorstand-arm-status", null);
|
|
||||||
+ config.set("settings.no-chat-sign", null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -217,6 +219,15 @@ public final class LeavesConfig {
|
|
||||||
private static void stickChangeArmorStandHasArm() {
|
|
||||||
stickChangeArmorStandArmStatus = getBoolean("settings.modify.stick-change-armorstand-arm-status", stickChangeArmorStandArmStatus);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static boolean noChatSign = true;
|
|
||||||
+ private static void noChatSign() {
|
|
||||||
+ if (LeavesConfig.config.contains("settings.modify.no-chat-sign")) {
|
|
||||||
+ noChatSign = LeavesConfig.config.getBoolean("settings.modify.no-chat-sign");
|
|
||||||
+ LeavesConfig.config.set("settings.modify.no-chat-sign", null);
|
|
||||||
+ }
|
|
||||||
+ noChatSign = getBoolean("settings.misc.no-chat-sign", noChatSign);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize mob spawning
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
index 15d266fc97eb73338f4f6fb2cfe25d6861e79810..70773c525bcf33d4d4764ce4a16dedddc423b02b 100644
|
index 089dd93d4cd4c1f72e63c4944b3b82c1e2ba732d..73bf34c3ce7e55e9fd15a3af90bf107e85d764b0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
@@ -173,7 +173,7 @@ public final class NaturalSpawner {
|
@@ -173,7 +173,7 @@ public final class NaturalSpawner {
|
||||||
@@ -19,29 +19,15 @@ index 15d266fc97eb73338f4f6fb2cfe25d6861e79810..70773c525bcf33d4d4764ce4a16deddd
|
|||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
Objects.requireNonNull(info);
|
Objects.requireNonNull(info);
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index ce3c88c1cdb58f63aecc87b9900f8cf7c6144908..dfce8514d0ea36d24bd4168856d6f10f68f4e30c 100644
|
index da2fc9a9e1ff9d8c8bcb1e325916ae0eaff29b1e..732d6c7f5c87714738ae49544ec82c3a674e1c53 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -228,7 +228,21 @@ public final class LeavesConfig {
|
@@ -206,7 +206,7 @@ public final class LeavesConfig {
|
||||||
}
|
|
||||||
noChatSign = getBoolean("settings.misc.no-chat-sign", noChatSign);
|
noChatSign = getBoolean("settings.misc.no-chat-sign", noChatSign);
|
||||||
}
|
}
|
||||||
-
|
|
||||||
+
|
|
||||||
+ public static boolean asyncMobSpawning = false;
|
|
||||||
+ private static boolean asyncMobSpawningLock = false;
|
|
||||||
+ private static void asyncMobSpawning() {
|
|
||||||
+ if (!asyncMobSpawningLock) {
|
|
||||||
+ asyncMobSpawning = getBoolean("settings.performance.async-mob-spawning", asyncMobSpawning);
|
|
||||||
+ asyncMobSpawningLock = true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (asyncMobSpawning) {
|
|
||||||
+ asyncMobSpawning = false;
|
|
||||||
+ LeavesLogger.LOGGER.severe("Async MobSpawning is updating, it can't work");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
- public static boolean asyncMobSpawning = false;
|
||||||
|
+ public static boolean asyncMobSpawning = false; // void
|
||||||
|
private static boolean asyncMobSpawningLock = false;
|
||||||
|
private static void asyncMobSpawning() {
|
||||||
|
if (!asyncMobSpawningLock) {
|
||||||
@@ -51,19 +51,3 @@ index 6670e657e08e130f7e0368f418379fd1ece00cdf..bd520b2f298ac7e9210532e7e7aca476
|
|||||||
public void removePairing(ServerPlayer player) {
|
public void removePairing(ServerPlayer player) {
|
||||||
this.entity.stopSeenByPlayer(player);
|
this.entity.stopSeenByPlayer(player);
|
||||||
player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}));
|
player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}));
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index dfce8514d0ea36d24bd4168856d6f10f68f4e30c..dc9164ecabd5d17020bbd8597a78aac1dce7c362 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -243,6 +243,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean dontSendUselessEntityPackets = true;
|
|
||||||
+ private static void dontSendUselessEntityPackets() {
|
|
||||||
+ dontSendUselessEntityPackets = getBoolean("settings.performance.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
20
patches/server/0019-Multithreaded-Tracker.patch
Normal file
20
patches/server/0019-Multithreaded-Tracker.patch
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||||
|
Date: Sun, 14 Aug 2022 00:39:45 +0800
|
||||||
|
Subject: [PATCH] Multithreaded Tracker
|
||||||
|
|
||||||
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
index 732d6c7f5c87714738ae49544ec82c3a674e1c53..4546a98ae419ff5f647e79455b7d36b21bdb92a8 100644
|
||||||
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
@@ -225,7 +225,7 @@ public final class LeavesConfig {
|
||||||
|
dontSendUselessEntityPackets = getBoolean("settings.performance.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
||||||
|
}
|
||||||
|
|
||||||
|
- public static boolean asyncEntityTracker = false;
|
||||||
|
+ public static boolean asyncEntityTracker = false; // void
|
||||||
|
private static boolean asyncEntityTrackerLock = false;
|
||||||
|
private static void asyncEntityTracker() {
|
||||||
|
if (!asyncEntityTrackerLock) {
|
||||||
@@ -17,19 +17,3 @@ index 34f319ad09276c6f68dde449c79351de0d7d86f5..bbca34e70b1ee88ac77b0d8e319eedbf
|
|||||||
if (this.mob.isWithinRestriction(mutableBlockPos) && this.isValidTarget(this.mob.level(), mutableBlockPos)) {
|
if (this.mob.isWithinRestriction(mutableBlockPos) && this.isValidTarget(this.mob.level(), mutableBlockPos)) {
|
||||||
this.blockPos = mutableBlockPos;
|
this.blockPos = mutableBlockPos;
|
||||||
setTargetPosition(mutableBlockPos.immutable()); // Paper
|
setTargetPosition(mutableBlockPos.immutable()); // Paper
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 4abc997fbe641f9c97b31fb88314230f7eb9af04..b2e135eac3c1bc7c9486a9e38f162bd3b68c24bb 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -262,6 +262,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean fixPaper6045 = true;
|
|
||||||
+ private static void fixPaper6045() {
|
|
||||||
+ fixPaper6045 = getBoolean("settings.performance.fix.fix-paper-6045", fixPaper6045);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Sun, 14 Aug 2022 00:39:45 +0800
|
|
||||||
Subject: [PATCH] Multithreaded Tracker
|
|
||||||
|
|
||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index dc9164ecabd5d17020bbd8597a78aac1dce7c362..4abc997fbe641f9c97b31fb88314230f7eb9af04 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -248,6 +248,20 @@ public final class LeavesConfig {
|
|
||||||
dontSendUselessEntityPackets = getBoolean("settings.performance.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean asyncEntityTracker = false;
|
|
||||||
+ private static boolean asyncEntityTrackerLock = false;
|
|
||||||
+ private static void asyncEntityTracker() {
|
|
||||||
+ if (!asyncEntityTrackerLock) {
|
|
||||||
+ asyncEntityTracker = getBoolean("settings.performance.async-entity-tracker", asyncEntityTracker);
|
|
||||||
+ asyncEntityTrackerLock = true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (asyncEntityTracker) {
|
|
||||||
+ asyncEntityTracker = false;
|
|
||||||
+ LeavesLogger.LOGGER.severe("Async EntityTracker is updating, it can't work");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -37,20 +37,3 @@ index 39a65a784c9051d183a62291c01240034c86dd70..72b35cbd1840141c7654357c3c3bf446
|
|||||||
private ChunkPos chunkPosition;
|
private ChunkPos chunkPosition;
|
||||||
private Vec3 deltaMovement;
|
private Vec3 deltaMovement;
|
||||||
private float yRot;
|
private float yRot;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index b2e135eac3c1bc7c9486a9e38f162bd3b68c24bb..a3790fb532642a3dd5f0f31503733279a86ed20e 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -267,6 +267,12 @@ public final class LeavesConfig {
|
|
||||||
fixPaper6045 = getBoolean("settings.performance.fix.fix-paper-6045", fixPaper6045);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean optimizeEntityCoordinateKey = true;
|
|
||||||
+ private static void optimizeEntityCoordinateKey() {
|
|
||||||
+ optimizeEntityCoordinateKey = getBoolean("settings.performance.optimize-entity-coordinate-key", optimizeEntityCoordinateKey);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -34,18 +34,3 @@ index 67bf9ff852e190d89c877b86d9bfee07d6282430..903299fd5357b9955538aa20ec790672
|
|||||||
@Override
|
@Override
|
||||||
public boolean hurt(DamageSource source, float amount) {
|
public boolean hurt(DamageSource source, float amount) {
|
||||||
if (this.isInvulnerableTo(source)) {
|
if (this.isInvulnerableTo(source)) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index a3790fb532642a3dd5f0f31503733279a86ed20e..a4413e18f98c008bc4456af4349041294f90b22c 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -272,6 +272,10 @@ public final class LeavesConfig {
|
|
||||||
optimizeEntityCoordinateKey = getBoolean("settings.performance.optimize-entity-coordinate-key", optimizeEntityCoordinateKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean enableSuffocationOptimization = true;
|
|
||||||
+ private static void enableSuffocationOptimization() {
|
|
||||||
+ enableSuffocationOptimization = getBoolean("settings.performance.enable-suffocation-optimization", enableSuffocationOptimization);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
@@ -141,19 +141,3 @@ index 4f0a2c9b352f5824ec0c30d0f0af0fe16320aea3..a0693f18c04eb11cf010700499b03024
|
|||||||
public boolean isInWorldBounds(BlockPos pos) {
|
public boolean isInWorldBounds(BlockPos pos) {
|
||||||
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
|
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index a4413e18f98c008bc4456af4349041294f90b22c..6a0cade17ef3ee3aae50e9c2f174ebd631b8bd73 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -277,6 +277,11 @@ public final class LeavesConfig {
|
|
||||||
enableSuffocationOptimization = getBoolean("settings.performance.enable-suffocation-optimization", enableSuffocationOptimization);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean entityStripRaytracing = true;
|
|
||||||
+ private static void entityStripRaytracing() {
|
|
||||||
+ entityStripRaytracing = getBoolean("settings.performance.strip-raytracing-for-entity", entityStripRaytracing);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Only check for spooky season once an hour
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||||
index f5efdf59617d43de18a2267351fa784c0be3ae83..3af66e566c7e154eda362a564c630b5cb4ac24b8 100644
|
index 940cd932e74bc2e6754186731d7aa6f10d56eb68..bbab018a5fb58a56a8083f570d621bba11f9ca9a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||||
@@ -251,13 +251,30 @@ public class Bat extends AmbientCreature {
|
@@ -251,13 +251,30 @@ public class Bat extends AmbientCreature {
|
||||||
@@ -44,19 +44,3 @@ index f5efdf59617d43de18a2267351fa784c0be3ae83..3af66e566c7e154eda362a564c630b5c
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 6a0cade17ef3ee3aae50e9c2f174ebd631b8bd73..be15c7782599d957a75917a949837b043040b4be 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -282,6 +282,11 @@ public final class LeavesConfig {
|
|
||||||
entityStripRaytracing = getBoolean("settings.performance.strip-raytracing-for-entity", entityStripRaytracing);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean checkSpookySeasonOnceAnHour = true;
|
|
||||||
+ private static void checkSpookySeasonOnceAnHour() {
|
|
||||||
+ checkSpookySeasonOnceAnHour = getBoolean("settings.performance.check-spooky-season-once-an-hour", checkSpookySeasonOnceAnHour);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -93,23 +93,3 @@ index 4ff0d2fc9fd76e92e64abd69f2c9e299aa08ac32..cc224af0139a6e3adefd22cbfa0cd519
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index be15c7782599d957a75917a949837b043040b4be..e31eb5b9d67c2a03a63dc4c604460171da727544 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -287,6 +287,15 @@ public final class LeavesConfig {
|
|
||||||
checkSpookySeasonOnceAnHour = getBoolean("settings.performance.check-spooky-season-once-an-hour", checkSpookySeasonOnceAnHour);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean optimizeChunkTicking = true;
|
|
||||||
+ private static boolean optimizeChunkTickingLock = false;
|
|
||||||
+ private static void optimizeChunkTicking() {
|
|
||||||
+ if (!optimizeChunkTickingLock) {
|
|
||||||
+ optimizeChunkTicking = getBoolean("settings.performance.optimize-chunk-ticking", optimizeChunkTicking);
|
|
||||||
+ optimizeChunkTickingLock = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -21,19 +21,3 @@ index d4c91e0a0c64fcb7f1145de3f30134cb1f1f8ee6..44fc394dbab7e05a3bd7cab493300a96
|
|||||||
PoiManager poiManager = world.getPoiManager();
|
PoiManager poiManager = world.getPoiManager();
|
||||||
long2ObjectMap.long2ObjectEntrySet().removeIf((entry) -> {
|
long2ObjectMap.long2ObjectEntrySet().removeIf((entry) -> {
|
||||||
return !entry.getValue().isStillValid(time);
|
return !entry.getValue().isStillValid(time);
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index e31eb5b9d67c2a03a63dc4c604460171da727544..dbe16bd59963bba79f39ba739adb759687f21874 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -296,6 +296,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean skipPOIFindingInVehicle = true;
|
|
||||||
+ private static void skipPOIFindingInVehicle() {
|
|
||||||
+ skipPOIFindingInVehicle = getBoolean("settings.performance.skip-poi-find-in-vehicle", skipPOIFindingInVehicle);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Early return optimization for target finding
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||||
index a7575b5ef56af6f53448d391abb4956e130148ca..e2764cbc888be39943728ff810e1e44bc8be2af7 100644
|
index 58422f00c7d64dbd1cf6d7211c9838875cbe7778..b39072cf38795e8f0d73f83b10d29fe19c507c54 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||||
@@ -75,9 +75,17 @@ public class TargetingConditions {
|
@@ -75,9 +75,17 @@ public class TargetingConditions {
|
||||||
@@ -28,19 +28,3 @@ index a7575b5ef56af6f53448d391abb4956e130148ca..e2764cbc888be39943728ff810e1e44b
|
|||||||
if (f > e * e) {
|
if (f > e * e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index dbe16bd59963bba79f39ba739adb759687f21874..d7ab1518c81bc37c76e39cece2dc81d17cb1ef15 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -300,6 +300,11 @@ public final class LeavesConfig {
|
|
||||||
private static void skipPOIFindingInVehicle() {
|
|
||||||
skipPOIFindingInVehicle = getBoolean("settings.performance.skip-poi-find-in-vehicle", skipPOIFindingInVehicle);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ public static boolean entityTargetFindingOptimization = true;
|
|
||||||
+ private static void entityTargetFindingOptimization() {
|
|
||||||
+ entityTargetFindingOptimization = getBoolean("settings.performance.entity-target-find-optimization", entityTargetFindingOptimization);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Use thread unsafe random for mob spawning
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
index 70773c525bcf33d4d4764ce4a16dedddc423b02b..7a3bd3e7aa208ade1d33f59ba684354d000dd011 100644
|
index 73bf34c3ce7e55e9fd15a3af90bf107e85d764b0..c767257b56acbe2cde391f405c010f5b2f62a17c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||||
@@ -419,12 +419,21 @@ public final class NaturalSpawner {
|
@@ -419,12 +419,21 @@ public final class NaturalSpawner {
|
||||||
@@ -37,19 +37,3 @@ index 70773c525bcf33d4d4764ce4a16dedddc423b02b..7a3bd3e7aa208ade1d33f59ba684354d
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isValidEmptySpawnBlock(BlockGetter blockView, BlockPos pos, BlockState state, FluidState fluidState, EntityType<?> entityType) {
|
public static boolean isValidEmptySpawnBlock(BlockGetter blockView, BlockPos pos, BlockState state, FluidState fluidState, EntityType<?> entityType) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index d7ab1518c81bc37c76e39cece2dc81d17cb1ef15..b41c9504a1c09c239b8e8a12efe6e63f9dfc591f 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -306,6 +306,11 @@ public final class LeavesConfig {
|
|
||||||
entityTargetFindingOptimization = getBoolean("settings.performance.entity-target-find-optimization", entityTargetFindingOptimization);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean useMoreThreadUnsafeRandom = true;
|
|
||||||
+ private static void useMoreThreadUnsafeRandom() {
|
|
||||||
+ useMoreThreadUnsafeRandom = getBoolean("settings.performance.use-more-thread-unsafe-random", useMoreThreadUnsafeRandom);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -37,19 +37,3 @@ index 11d362ce8043966a7fce6c64849b7c080133fcbd..71836aa0e2f5d397c0b02c9662d1b114
|
|||||||
return (ProfilerFiller) this.profiler.get();
|
return (ProfilerFiller) this.profiler.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index b41c9504a1c09c239b8e8a12efe6e63f9dfc591f..ceb2432d4271beb82f260e52b54d5661f992927c 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -311,6 +311,11 @@ public final class LeavesConfig {
|
|
||||||
useMoreThreadUnsafeRandom = getBoolean("settings.performance.use-more-thread-unsafe-random", useMoreThreadUnsafeRandom);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean disableMethodProfiler = true;
|
|
||||||
+ private static void disableMethodProfiler() {
|
|
||||||
+ disableMethodProfiler = getBoolean("settings.misc.disable-method-profiler", disableMethodProfiler);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -24,19 +24,3 @@ index e2a25c29ec74147b3e66aa0b3deb85a8f6ee53a5..e65ce75e2d44843afa6c4a033885a55d
|
|||||||
this.goalSelector.tick();
|
this.goalSelector.tick();
|
||||||
}
|
}
|
||||||
if (this.targetSelector.inactiveTick()) {
|
if (this.targetSelector.inactiveTick()) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index ceb2432d4271beb82f260e52b54d5661f992927c..53ccd141c53faa3fa53127f546ba0faeb685d731 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -316,6 +316,11 @@ public final class LeavesConfig {
|
|
||||||
disableMethodProfiler = getBoolean("settings.misc.disable-method-profiler", disableMethodProfiler);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean throttleInactiveGoalSelectorTick = false;
|
|
||||||
+ private static void throttleInactiveGoalSelectorTick() {
|
|
||||||
+ throttleInactiveGoalSelectorTick = getBoolean("settings.performance.inactive-goal-selector-disable", throttleInactiveGoalSelectorTick);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -53,19 +53,3 @@ index dd1102d5291ef6f18e82400a6d8a0a376cc071e9..53c094c8a674b2842009727569e7e1f6
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 1335959fc27da3e53ea845dff83fcac0b3a1e873..6227a02006c98fe93f500f2a192aec0ff77a8187 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -326,6 +326,11 @@ public final class LeavesConfig {
|
|
||||||
skipCloneLootParameters = getBoolean("settings.performance.skip-clone-loot-parameters", skipCloneLootParameters);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean reduceEntityAllocations = true;
|
|
||||||
+ private static void reduceEntityAllocations() {
|
|
||||||
+ reduceEntityAllocations = getBoolean("settings.performance.reduce-entity-allocations", reduceEntityAllocations);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -35,19 +35,3 @@ index bf05f321373c9cb5d42fd6cace010a75dc98b90a..c47df8d18be8ac7d32a16e6662dbbd85
|
|||||||
gameprofilerfiller.pop();
|
gameprofilerfiller.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 6227a02006c98fe93f500f2a192aec0ff77a8187..205b7b98271208457d8acc434d1f8b2bd804dd4c 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -331,6 +331,11 @@ public final class LeavesConfig {
|
|
||||||
reduceEntityAllocations = getBoolean("settings.performance.reduce-entity-allocations", reduceEntityAllocations);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean removeTickGuardLambda = true;
|
|
||||||
+ private static void removeTickGuardLambda() {
|
|
||||||
+ removeTickGuardLambda = getBoolean("settings.performance.remove.tick-guard-lambda", removeTickGuardLambda);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Mon, 15 Aug 2022 17:17:24 +0800
|
|
||||||
Subject: [PATCH] Skip cloning loot parameters
|
|
||||||
|
|
||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 53ccd141c53faa3fa53127f546ba0faeb685d731..1335959fc27da3e53ea845dff83fcac0b3a1e873 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -321,6 +321,11 @@ public final class LeavesConfig {
|
|
||||||
throttleInactiveGoalSelectorTick = getBoolean("settings.performance.inactive-goal-selector-disable", throttleInactiveGoalSelectorTick);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean skipCloneLootParameters = true;
|
|
||||||
+ private static void skipCloneLootParameters() {
|
|
||||||
+ skipCloneLootParameters = getBoolean("settings.performance.skip-clone-loot-parameters", skipCloneLootParameters);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -54,19 +54,3 @@ index 395cecc385e4126a7534ac9aeb15cf323efab03e..a8e8ed277bf467ca8a34e040bf7b1257
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 205b7b98271208457d8acc434d1f8b2bd804dd4c..6377b8ca3cafcbb1b63fc713cc8e132e2260233d 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -336,6 +336,11 @@ public final class LeavesConfig {
|
|
||||||
removeTickGuardLambda = getBoolean("settings.performance.remove.tick-guard-lambda", removeTickGuardLambda);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean removeInventoryContainsIterators = true;
|
|
||||||
+ private static void removeInventoryContainsIterators() {
|
|
||||||
+ removeInventoryContainsIterators = getBoolean("settings.performance.remove.inventory-contains-iterators", removeInventoryContainsIterators);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -67,19 +67,3 @@ index c1920e8d571a71cdd9fa18f26d16aabc43f5a88f..9f11a60c1856e474227624118d0362aa
|
|||||||
|
|
||||||
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 6377b8ca3cafcbb1b63fc713cc8e132e2260233d..14d04bd5e7421fa11a1e2e55394fef99ed66235e 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -341,6 +341,11 @@ public final class LeavesConfig {
|
|
||||||
removeInventoryContainsIterators = getBoolean("settings.performance.remove.inventory-contains-iterators", removeInventoryContainsIterators);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean removeGetNearPlayerStreams = true;
|
|
||||||
+ private static void removeGetNearPlayerStreams() {
|
|
||||||
+ removeGetNearPlayerStreams = getBoolean("settings.performance.remove.get-nearby-players-streams", removeGetNearPlayerStreams);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -62,19 +62,3 @@ index 9209b598d7168b82574e4800056b8b9f84265dd0..e122a633bc3e26f7a98149f66da8a9e8
|
|||||||
|
|
||||||
return this.scaledRange(i);
|
return this.scaledRange(i);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 14d04bd5e7421fa11a1e2e55394fef99ed66235e..b75cd13ae7a7d961333d712235baa160ae392b4c 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -346,6 +346,11 @@ public final class LeavesConfig {
|
|
||||||
removeGetNearPlayerStreams = getBoolean("settings.performance.remove.get-nearby-players-streams", removeGetNearPlayerStreams);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean removeRangeCheckStreams = true;
|
|
||||||
+ private static void removeRangeCheckStreams() {
|
|
||||||
+ removeRangeCheckStreams = getBoolean("settings.performance.remove.range-check-streams-and-iterators", removeRangeCheckStreams);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
21
patches/server/0037-Async-Pathfinding.patch
Normal file
21
patches/server/0037-Async-Pathfinding.patch
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||||
|
Date: Wed, 17 Aug 2022 16:54:54 +0800
|
||||||
|
Subject: [PATCH] Async Pathfinding
|
||||||
|
|
||||||
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
But Pufferfish patch was ported downstream from the Petal fork
|
||||||
|
|
||||||
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
index 4546a98ae419ff5f647e79455b7d36b21bdb92a8..5a75b8331c2ca804fa61002d9a2e0a8fcf786d3c 100644
|
||||||
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
|
@@ -326,7 +326,7 @@ public final class LeavesConfig {
|
||||||
|
// only config now
|
||||||
|
public static boolean asyncPathfinding = false;
|
||||||
|
private static boolean asyncPathfindingLock = false;
|
||||||
|
- private static void asyncPathfinding() {
|
||||||
|
+ private static void asyncPathfinding() { // void
|
||||||
|
if (!asyncPathfindingLock) {
|
||||||
|
asyncPathfinding = getBoolean("settings.performance.async-pathfinding", asyncPathfinding);
|
||||||
|
asyncPathfindingLock = true;
|
||||||
@@ -45,19 +45,3 @@ index d4da9ec6e00bb92b70598ee9a0d0ca5816562378..af138ee23295847377b391dcc73bc932
|
|||||||
{
|
{
|
||||||
return 1; // Paper
|
return 1; // Paper
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index a11466aaffe55aa86b54a4aa31586f446e31e0df..d6cd39d61c87636cb4c3500d5a303d3bb28c45fa 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -366,6 +366,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean cacheClimbCheck = true;
|
|
||||||
+ private static void cacheClimbCheck() {
|
|
||||||
+ cacheClimbCheck = getBoolean("settings.performance.cache-climb-check", cacheClimbCheck);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
||||||
Date: Wed, 17 Aug 2022 16:54:54 +0800
|
|
||||||
Subject: [PATCH] Async Pathfinding
|
|
||||||
|
|
||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
|
||||||
But Pufferfish patch was ported downstream from the Petal fork
|
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index b75cd13ae7a7d961333d712235baa160ae392b4c..a11466aaffe55aa86b54a4aa31586f446e31e0df 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -351,6 +351,21 @@ public final class LeavesConfig {
|
|
||||||
removeRangeCheckStreams = getBoolean("settings.performance.remove.range-check-streams-and-iterators", removeRangeCheckStreams);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // only config now
|
|
||||||
+ public static boolean asyncPathfinding = false;
|
|
||||||
+ private static boolean asyncPathfindingLock = false;
|
|
||||||
+ private static void asyncPathfinding() {
|
|
||||||
+ if (!asyncPathfindingLock) {
|
|
||||||
+ asyncPathfinding = getBoolean("settings.performance.async-pathfinding", asyncPathfinding);
|
|
||||||
+ asyncPathfindingLock = true;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (asyncPathfinding) {
|
|
||||||
+ asyncPathfinding = false;
|
|
||||||
+ LeavesLogger.LOGGER.severe("Async Pathfinding is updating, it can't work");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -101,26 +101,6 @@ index 65012a12e1430956ef55ced56773e6354ac26444..fe43432da26a3570c993b5592b7b8020
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean shouldFreeze(LevelReader world, BlockPos blockPos) {
|
public boolean shouldFreeze(LevelReader world, BlockPos blockPos) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index d6cd39d61c87636cb4c3500d5a303d3bb28c45fa..21d23b2c3691f52aac9445e3c2ceb29eb7970d2b 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -371,6 +371,15 @@ public final class LeavesConfig {
|
|
||||||
cacheClimbCheck = getBoolean("settings.performance.cache-climb-check", cacheClimbCheck);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean biomeTemperaturesUseAgingCache = true;
|
|
||||||
+ private static boolean biomeTemperaturesUseAgingCacheLock = false;
|
|
||||||
+ private static void biomeTemperaturesUseAgingCache() {
|
|
||||||
+ if (!biomeTemperaturesUseAgingCacheLock) {
|
|
||||||
+ biomeTemperaturesUseAgingCache = getBoolean("settings.performance.biome-temperatures-use-aging-cache", biomeTemperaturesUseAgingCache);
|
|
||||||
+ biomeTemperaturesUseAgingCacheLock = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/structs/Long2FloatAgingCache.java b/src/main/java/top/leavesmc/leaves/structs/Long2FloatAgingCache.java
|
diff --git a/src/main/java/top/leavesmc/leaves/structs/Long2FloatAgingCache.java b/src/main/java/top/leavesmc/leaves/structs/Long2FloatAgingCache.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..26f9d4d9099739d6ddc159184a20e2ae9abde5cd
|
index 0000000000000000000000000000000000000000..26f9d4d9099739d6ddc159184a20e2ae9abde5cd
|
||||||
@@ -216,19 +216,3 @@ index d4477b0dda6a1ef7bd8323c0d11b636bd071d18e..3b7fcf532761362d2f657f58962d7bd2
|
|||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 21d23b2c3691f52aac9445e3c2ceb29eb7970d2b..1b82f85e4655ca0edc90026582b89b40e0438bf6 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -380,6 +380,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean reduceEntityFluidLookup = true;
|
|
||||||
+ private static void reduceEntityFluidLookup() {
|
|
||||||
+ reduceEntityFluidLookup = getBoolean("settings.performance.reduce-entity-fluid-lookup", reduceEntityFluidLookup);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -41,19 +41,3 @@ index 4616addb05fcc20b1ec6ca1dea01cbefed697acd..2fce5952352ca09335d3ba74e6d779c4
|
|||||||
boolean flag = iblockdata.blocksMotion();
|
boolean flag = iblockdata.blocksMotion();
|
||||||
boolean flag1 = iblockdata.getFluidState().is(FluidTags.WATER);
|
boolean flag1 = iblockdata.getFluidState().is(FluidTags.WATER);
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 1b82f85e4655ca0edc90026582b89b40e0438bf6..b6282e09aff5cc7f8db682faff92d2b2e8b0f47a 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -385,6 +385,11 @@ public final class LeavesConfig {
|
|
||||||
reduceEntityFluidLookup = getBoolean("settings.performance.reduce-entity-fluid-lookup", reduceEntityFluidLookup);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean reduceChuckLoadAndLookup = true;
|
|
||||||
+ private static void reduceChuckLoadAndLookup() {
|
|
||||||
+ reduceChuckLoadAndLookup = getBoolean("settings.performance.reduce-chuck-load-and-lookup", reduceChuckLoadAndLookup);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Simpler ShapelessRecipes comparison for Vanilla
|
|||||||
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
|
diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
|
||||||
index f4f3f3a19d3cadaef1ae1a47daa68251a983dcf2..cad40fa0482f286d4b51e934ac639ea524a08455 100644
|
index 7f174bb89bf4d700a5ae1b65d8abd4f5b1e7b5ed..fef23722a5abb56c5f0a24a785a312c0378a0500 100644
|
||||||
--- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
|
--- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
|
||||||
+++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
|
+++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
|
||||||
@@ -27,13 +27,21 @@ public class ShapelessRecipe implements CraftingRecipe {
|
@@ -27,13 +27,21 @@ public class ShapelessRecipe implements CraftingRecipe {
|
||||||
@@ -72,19 +72,3 @@ index f7ea77dd82d978ad307f99c743efacfb34478b3d..96be7a7b030b2f82ac91f0c5c8e66f28
|
|||||||
+ MinecraftServer.getServer().getRecipeManager().addRecipe(new net.minecraft.world.item.crafting.ShapelessRecipe(CraftNamespacedKey.toMinecraft(this.getKey()), this.getGroup(), CraftRecipe.getCategory(this.getCategory()), CraftItemStack.asNMSCopy(this.getResult()), data, true)); // Leaves - is bukkit recipe
|
+ MinecraftServer.getServer().getRecipeManager().addRecipe(new net.minecraft.world.item.crafting.ShapelessRecipe(CraftNamespacedKey.toMinecraft(this.getKey()), this.getGroup(), CraftRecipe.getCategory(this.getCategory()), CraftItemStack.asNMSCopy(this.getResult()), data, true)); // Leaves - is bukkit recipe
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index b6282e09aff5cc7f8db682faff92d2b2e8b0f47a..0765f80c16efcc17e7b2dc5bf08a1a92eeddb1ae 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -390,6 +390,11 @@ public final class LeavesConfig {
|
|
||||||
reduceChuckLoadAndLookup = getBoolean("settings.performance.reduce-chuck-load-and-lookup", reduceChuckLoadAndLookup);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean simplerVanillaShapelessRecipes = true;
|
|
||||||
+ private static void simplerVanillaShapelessRecipes() {
|
|
||||||
+ simplerVanillaShapelessRecipes = getBoolean("settings.performance.simpler-vanilla-shapeless-recipes", simplerVanillaShapelessRecipes);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -368,32 +368,6 @@ index 5b128a82f9759dcc033d313f576914d6c9f2214b..87301f69c72b8ed98cc894dfaf285aa7
|
|||||||
for (ServerLevel world : this.console.getAllLevels()) {
|
for (ServerLevel world : this.console.getAllLevels()) {
|
||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 0765f80c16efcc17e7b2dc5bf08a1a92eeddb1ae..3d71b6cfcb8e7b87b3549aa60dabb4491abbc41a 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -395,6 +395,21 @@ public final class LeavesConfig {
|
|
||||||
simplerVanillaShapelessRecipes = getBoolean("settings.performance.simpler-vanilla-shapeless-recipes", simplerVanillaShapelessRecipes);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean pcaSyncProtocol = false;
|
|
||||||
+ private static void pcaSyncProtocol() {
|
|
||||||
+ pcaSyncProtocol = getBoolean("settings.protocol.pca-sync-protocol", pcaSyncProtocol);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public static String pcaSyncPlayerEntity = "OPS";
|
|
||||||
+ private static final List<String> pcaSyncPlayerEntityList = List.of("NOBODY", "BOT", "OPS", "OPS_AND_SELF", "EVERYONE");
|
|
||||||
+ private static void pcaSyncPlayerEntity() {
|
|
||||||
+ pcaSyncPlayerEntity = getString("settings.protocol.pca-sync-player-entity", pcaSyncPlayerEntity);
|
|
||||||
+ if (!pcaSyncPlayerEntityList.contains(pcaSyncPlayerEntity)) {
|
|
||||||
+ pcaSyncPlayerEntity = "OPS";
|
|
||||||
+ LeavesLogger.LOGGER.severe("pca-sync-player-entity value error, reset to OPS");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/protocol/PcaSyncProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/PcaSyncProtocol.java
|
diff --git a/src/main/java/top/leavesmc/leaves/protocol/PcaSyncProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/PcaSyncProtocol.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..819c89946670cc41f390d1855cf7159aec6bb1b5
|
index 0000000000000000000000000000000000000000..819c89946670cc41f390d1855cf7159aec6bb1b5
|
||||||
@@ -18,7 +18,7 @@ index 100ea32bc60e5c052007bb75b35eba16564eadff..a932f1096fb9a89644d649edc2ef7049
|
|||||||
for (int i = 0; i < this.tickables.size(); ++i) {
|
for (int i = 0; i < this.tickables.size(); ++i) {
|
||||||
((Runnable) this.tickables.get(i)).run();
|
((Runnable) this.tickables.get(i)).run();
|
||||||
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 ba990b85172a44333d619f82f4ad7f2b67c8765c..5f2bbaa1d06e081b0cb9a638a9dfa5b33159bfeb 100644
|
index 5bf8c3e04905031c56ed775aaba762ef2fa35662..2a6dd10abd58beb7f7ac3b2e5b68efaceace9b20 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
|
||||||
@@ -3550,6 +3550,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -3550,6 +3550,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
@@ -32,7 +32,7 @@ index ba990b85172a44333d619f82f4ad7f2b67c8765c..5f2bbaa1d06e081b0cb9a638a9dfa5b3
|
|||||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
|
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
|
||||||
this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD);
|
this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD);
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 151ecdb16a331c59287095b497516e99a894db61..3419f931f1e6d3ea9e0de91d18ae415e2df87117 100644
|
index 0d751f2795314783d4597b46f8c218ffdbfd70c6..dddc6cf4557acf094ae5b5f03ad2c385533770ec 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -357,6 +357,7 @@ public abstract class PlayerList {
|
@@ -357,6 +357,7 @@ public abstract class PlayerList {
|
||||||
@@ -94,22 +94,6 @@ index 87301f69c72b8ed98cc894dfaf285aa72a947894..c172324b4902f4005be5407274525bf1
|
|||||||
for (ServerLevel world : this.console.getAllLevels()) {
|
for (ServerLevel world : this.console.getAllLevels()) {
|
||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 3d71b6cfcb8e7b87b3549aa60dabb4491abbc41a..1a05745fa952664a937cd2b85e62cbbdb0215ed1 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -410,6 +410,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean bborProtocol = false;
|
|
||||||
+ private static void bborProtocol() {
|
|
||||||
+ bborProtocol = getBoolean("settings.protocol.bbor-protocol", bborProtocol);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/protocol/BBORProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/BBORProtocol.java
|
diff --git a/src/main/java/top/leavesmc/leaves/protocol/BBORProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/BBORProtocol.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..95469919589b48e1c672b6b9dc884118d33d86de
|
index 0000000000000000000000000000000000000000..95469919589b48e1c672b6b9dc884118d33d86de
|
||||||
@@ -32,23 +32,3 @@ index 71836aa0e2f5d397c0b02c9662d1b11454c0388b..8051a228854044d77d118c87163d7501
|
|||||||
this.registryAccess = iregistrycustom;
|
this.registryAccess = iregistrycustom;
|
||||||
this.damageSources = new DamageSources(iregistrycustom);
|
this.damageSources = new DamageSources(iregistrycustom);
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 1a05745fa952664a937cd2b85e62cbbdb0215ed1..bd446ec62a1b2b87d8e3c49273852eb0d560e934 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -415,6 +415,15 @@ public final class LeavesConfig {
|
|
||||||
bborProtocol = getBoolean("settings.protocol.bbor-protocol", bborProtocol);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean instantBlockUpdaterReintroduced = false;
|
|
||||||
+ private static boolean instantBlockUpdaterReintroducedLock = false;
|
|
||||||
+ private static void instantBlockUpdaterReintroduced() {
|
|
||||||
+ if (!instantBlockUpdaterReintroducedLock) {
|
|
||||||
+ instantBlockUpdaterReintroduced = getBoolean("settings.modify.instant-block-updater-reintroduced", instantBlockUpdaterReintroduced);
|
|
||||||
+ instantBlockUpdaterReintroducedLock = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -25,19 +25,3 @@ index ff1ad1024419182f7f3de578442c1c033d4c9ebb..d93f3eeea17d58ccc01c6010b2d49f81
|
|||||||
}
|
}
|
||||||
|
|
||||||
default void consumeCount(int count) {
|
default void consumeCount(int count) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index bd446ec62a1b2b87d8e3c49273852eb0d560e934..68fb787c2356b7e699c6df9c856362009d42a9bb 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -424,6 +424,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean flattenTriangularDistribution = false;
|
|
||||||
+ private static void flattenTriangularDistribution() {
|
|
||||||
+ flattenTriangularDistribution = getBoolean("settings.modify.flatten-triangular-distribution", flattenTriangularDistribution);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Jade Protocol
|
|||||||
This patch is Powered by Jade(https://github.com/Snownee/Jade)
|
This patch is Powered by Jade(https://github.com/Snownee/Jade)
|
||||||
|
|
||||||
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 5f2bbaa1d06e081b0cb9a638a9dfa5b33159bfeb..46a7cd5598054ec1acbcbf29b9630e1dde8e6a10 100644
|
index 2a6dd10abd58beb7f7ac3b2e5b68efaceace9b20..2640a9cac120b779d228018dfc375c4337e2147f 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
|
||||||
@@ -3553,6 +3553,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -3553,6 +3553,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
@@ -68,22 +68,6 @@ index c172324b4902f4005be5407274525bf1d0b16021..3116933c347135bdad6115947c4fa8a8
|
|||||||
for (ServerLevel world : this.console.getAllLevels()) {
|
for (ServerLevel world : this.console.getAllLevels()) {
|
||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 68fb787c2356b7e699c6df9c856362009d42a9bb..696d290df17274b7e82b2d12ea2c16b28173f660 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -429,6 +429,11 @@ public final class LeavesConfig {
|
|
||||||
flattenTriangularDistribution = getBoolean("settings.modify.flatten-triangular-distribution", flattenTriangularDistribution);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean jadeProtocol = false;
|
|
||||||
+ private static void jadeProtocol() {
|
|
||||||
+ jadeProtocol = getBoolean("settings.protocol.jade-protocol", jadeProtocol);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/protocol/JadeProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/JadeProtocol.java
|
diff --git a/src/main/java/top/leavesmc/leaves/protocol/JadeProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/JadeProtocol.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..33ad9e2f0cf2d712ea7f9b5285cd1ade59c6f796
|
index 0000000000000000000000000000000000000000..33ad9e2f0cf2d712ea7f9b5285cd1ade59c6f796
|
||||||
@@ -64,22 +64,6 @@ index 9522e646529f3d849471931b4b3c0d133e7fcfc5..5cf87860455ca05363685c192dc34a27
|
|||||||
@Nullable
|
@Nullable
|
||||||
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
|
public BlockState getStateForPlacement(BlockPlaceContext ctx) {
|
||||||
return this.defaultBlockState();
|
return this.defaultBlockState();
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 696d290df17274b7e82b2d12ea2c16b28173f660..0860bfdfbb8938cebad4b9662f26375082823c8a 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -434,6 +434,11 @@ public final class LeavesConfig {
|
|
||||||
jadeProtocol = getBoolean("settings.protocol.jade-protocol", jadeProtocol);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean carpetAlternativeBlockPlacement = false;
|
|
||||||
+ private static void carpetAlternativeBlockPlacement() {
|
|
||||||
+ carpetAlternativeBlockPlacement = getBoolean("settings.protocol.carpet-alternative-block-placement", carpetAlternativeBlockPlacement);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/protocol/CarpetAlternativeBlockPlacement.java b/src/main/java/top/leavesmc/leaves/protocol/CarpetAlternativeBlockPlacement.java
|
diff --git a/src/main/java/top/leavesmc/leaves/protocol/CarpetAlternativeBlockPlacement.java b/src/main/java/top/leavesmc/leaves/protocol/CarpetAlternativeBlockPlacement.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..848c380ed3d9755bab680b1e244a6024110bc383
|
index 0000000000000000000000000000000000000000..848c380ed3d9755bab680b1e244a6024110bc383
|
||||||
@@ -131,19 +131,3 @@ index 1015b3c5f6969709bb8ebfbd66eb9cede444385c..437ed8d4cba5e3393ac6370f6b8e364e
|
|||||||
if (iblockdata == null) {
|
if (iblockdata == null) {
|
||||||
return InteractionResult.FAIL;
|
return InteractionResult.FAIL;
|
||||||
} else if (!this.placeBlock(blockactioncontext1, iblockdata)) {
|
} else if (!this.placeBlock(blockactioncontext1, iblockdata)) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 0860bfdfbb8938cebad4b9662f26375082823c8a..72a750e05f7abe71bf3be8884c4b396cb715d99f 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -439,6 +439,11 @@ public final class LeavesConfig {
|
|
||||||
carpetAlternativeBlockPlacement = getBoolean("settings.protocol.carpet-alternative-block-placement", carpetAlternativeBlockPlacement);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean playerOperationLimiter = false;
|
|
||||||
+ private static void playerOperationLimiter() {
|
|
||||||
+ playerOperationLimiter = getBoolean("settings.modify.player-operation-limiter", playerOperationLimiter);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Renewable Elytra
|
|||||||
This patch is Powered by Carpet-TIS-Addition(https://github.com/plusls/Carpet-TIS-Addition)
|
This patch is Powered by Carpet-TIS-Addition(https://github.com/plusls/Carpet-TIS-Addition)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||||
index 97fb1d2110a51498f6419841081b500b3f190370..8fb8bc48342183b978b4bfb0845f2cc2af159ac2 100644
|
index 4a132c3eff6978e927bcd4df56b9ce0306af6d19..8f390c7201da00f7e1c5913f0d0642a2b5e943cb 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||||
@@ -36,6 +36,8 @@ import net.minecraft.world.entity.ai.goal.Goal;
|
@@ -36,6 +36,8 @@ import net.minecraft.world.entity.ai.goal.Goal;
|
||||||
@@ -39,19 +39,3 @@ index 97fb1d2110a51498f6419841081b500b3f190370..8fb8bc48342183b978b4bfb0845f2cc2
|
|||||||
// Paper start
|
// Paper start
|
||||||
java.util.UUID spawningEntity;
|
java.util.UUID spawningEntity;
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 72a750e05f7abe71bf3be8884c4b396cb715d99f..35c1e3e82f372c5290725f80621f7b9850a29acd 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -444,6 +444,11 @@ public final class LeavesConfig {
|
|
||||||
playerOperationLimiter = getBoolean("settings.modify.player-operation-limiter", playerOperationLimiter);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static double renewableElytra = -1.0;
|
|
||||||
+ private static void renewableElytra() {
|
|
||||||
+ renewableElytra = getDouble("settings.modify.renewable-elytra", renewableElytra);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -96,7 +96,7 @@ index 3d41dbe0285f8fec8adae1e93010cf464df9b08c..7f5c131b16152c7817b0a29064dacdf4
|
|||||||
ItemStack itemstack1 = other.getItem();
|
ItemStack itemstack1 = other.getItem();
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java
|
diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java
|
||||||
index fee876947e0c00f3e0d0914cf84b5969cc788696..625110623fc28f70c0076295e5f8c6d42db24322 100644
|
index a8e8ed277bf467ca8a34e040bf7b1257ffe8a17e..15b3425fd5cebfc2ddcb0e39879f4f65c64f3317 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/player/Inventory.java
|
--- a/src/main/java/net/minecraft/world/entity/player/Inventory.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java
|
+++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java
|
||||||
@@ -114,7 +114,7 @@ public class Inventory implements Container, Nameable {
|
@@ -114,7 +114,7 @@ public class Inventory implements Container, Nameable {
|
||||||
@@ -277,33 +277,6 @@ index 47468086c1cae252aa99c55b0065f225357dee62..bca757ea05403fe46f5bf0dfa75561b8
|
|||||||
@Override
|
@Override
|
||||||
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
|
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
|
||||||
return SHAPE;
|
return SHAPE;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 35c1e3e82f372c5290725f80621f7b9850a29acd..5d41d1309e133a4b6dc0e73c43168385256446cb 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -9,6 +9,7 @@ import org.bukkit.configuration.ConfigurationSection;
|
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
|
||||||
import top.leavesmc.leaves.bot.BotCommand;
|
|
||||||
import top.leavesmc.leaves.bot.agent.Actions;
|
|
||||||
+import top.leavesmc.leaves.util.MathUtils;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
@@ -449,6 +450,14 @@ public final class LeavesConfig {
|
|
||||||
renewableElytra = getDouble("settings.modify.renewable-elytra", renewableElytra);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static int shulkerBoxStackSize = 1;
|
|
||||||
+ private static String stackableShulkerBoxes = "false";
|
|
||||||
+ private static void stackableShulkerBoxes() {
|
|
||||||
+ stackableShulkerBoxes = getString("settings.modify.stackable-shulker-boxes", stackableShulkerBoxes);
|
|
||||||
+ stackableShulkerBoxes = MathUtils.isNumeric(stackableShulkerBoxes) ? stackableShulkerBoxes : stackableShulkerBoxes.equals("true") ? "2" : "1";
|
|
||||||
+ shulkerBoxStackSize = Integer.parseInt(stackableShulkerBoxes);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/ShulkerBoxUtils.java b/src/main/java/top/leavesmc/leaves/util/ShulkerBoxUtils.java
|
diff --git a/src/main/java/top/leavesmc/leaves/util/ShulkerBoxUtils.java b/src/main/java/top/leavesmc/leaves/util/ShulkerBoxUtils.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..82b4337965663ec8eccbc8c77892e3c49bff87cf
|
index 0000000000000000000000000000000000000000..82b4337965663ec8eccbc8c77892e3c49bff87cf
|
||||||
@@ -116,26 +116,6 @@ index 5502ad143fd2575f1346334b5b4fe7846628f54e..39669ad8e8895f1ff3e3a7e3ee1ab39c
|
|||||||
}
|
}
|
||||||
|
|
||||||
public abstract Fluid getFlowing();
|
public abstract Fluid getFlowing();
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 5d41d1309e133a4b6dc0e73c43168385256446cb..b3ae62eebb15ca41b55b0f994aa7230ec35d4a0e 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -458,6 +458,15 @@ public final class LeavesConfig {
|
|
||||||
shulkerBoxStackSize = Integer.parseInt(stackableShulkerBoxes);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean improveFluidDirectionCaching = true;
|
|
||||||
+ private static boolean improveFluidDirectionCachingLock = false;
|
|
||||||
+ private static void improveFluidDirectionCaching() {
|
|
||||||
+ if (!improveFluidDirectionCachingLock) {
|
|
||||||
+ improveFluidDirectionCaching = getBoolean("settings.performance.improve-fluid-direction-caching", improveFluidDirectionCaching);
|
|
||||||
+ improveFluidDirectionCachingLock = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/structs/FluidDirectionCache.java b/src/main/java/top/leavesmc/leaves/structs/FluidDirectionCache.java
|
diff --git a/src/main/java/top/leavesmc/leaves/structs/FluidDirectionCache.java b/src/main/java/top/leavesmc/leaves/structs/FluidDirectionCache.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..30dc532e75bc4dd7ddb086ffb24118cf4b7b5d2f
|
index 0000000000000000000000000000000000000000..30dc532e75bc4dd7ddb086ffb24118cf4b7b5d2f
|
||||||
@@ -70,7 +70,7 @@ index c767257b56acbe2cde391f405c010f5b2f62a17c..4327ec0948fb82939272f2dc1bbde8b1
|
|||||||
entity.spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN)) {
|
entity.spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN)) {
|
||||||
continue;
|
continue;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index b3ae62eebb15ca41b55b0f994aa7230ec35d4a0e..9b73017d8ace6229aff2688981ffa69caf336dd5 100644
|
index 5a75b8331c2ca804fa61002d9a2e0a8fcf786d3c..3c80c9f96f79ce3313053cdfabaa958bc2d2a2fb 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -2,11 +2,13 @@ package top.leavesmc.leaves;
|
@@ -2,11 +2,13 @@ package top.leavesmc.leaves;
|
||||||
@@ -87,18 +87,10 @@ index b3ae62eebb15ca41b55b0f994aa7230ec35d4a0e..9b73017d8ace6229aff2688981ffa69c
|
|||||||
import top.leavesmc.leaves.bot.BotCommand;
|
import top.leavesmc.leaves.bot.BotCommand;
|
||||||
import top.leavesmc.leaves.bot.agent.Actions;
|
import top.leavesmc.leaves.bot.agent.Actions;
|
||||||
import top.leavesmc.leaves.util.MathUtils;
|
import top.leavesmc.leaves.util.MathUtils;
|
||||||
@@ -467,6 +469,24 @@ public final class LeavesConfig {
|
@@ -446,6 +448,13 @@ public final class LeavesConfig {
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean mcTechnicalMode = true;
|
public static void doMcTechnicalMode() {
|
||||||
+ private static void mcTechnicalMode() {
|
if (mcTechnicalMode) {
|
||||||
+ mcTechnicalMode = getBoolean("settings.modify.mc-technical-survival-mode", mcTechnicalMode); // TODO better name?
|
|
||||||
+ doMcTechnicalMode();
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public static void doMcTechnicalMode() {
|
|
||||||
+ if (mcTechnicalMode) {
|
|
||||||
+ GlobalConfiguration.get().unsupportedSettings.allowPistonDuplication = true;
|
+ GlobalConfiguration.get().unsupportedSettings.allowPistonDuplication = true;
|
||||||
+ GlobalConfiguration.get().unsupportedSettings.allowHeadlessPistons = true;
|
+ GlobalConfiguration.get().unsupportedSettings.allowHeadlessPistons = true;
|
||||||
+ GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits = true;
|
+ GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits = true;
|
||||||
@@ -106,9 +98,6 @@ index b3ae62eebb15ca41b55b0f994aa7230ec35d4a0e..9b73017d8ace6229aff2688981ffa69c
|
|||||||
+ 5000.0, GlobalConfiguration.get().packetLimiter.allPackets.action());
|
+ 5000.0, GlobalConfiguration.get().packetLimiter.allPackets.action());
|
||||||
+ GlobalConfiguration.get().packetLimiter.overrides = Map.of();
|
+ GlobalConfiguration.get().packetLimiter.overrides = Map.of();
|
||||||
+ GlobalConfiguration.get().unsupportedSettings.allowGrindstoneOverstacking = true;
|
+ GlobalConfiguration.get().unsupportedSettings.allowGrindstoneOverstacking = true;
|
||||||
+ }
|
}
|
||||||
+ }
|
}
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -133,22 +133,6 @@ index b391fa45df30aa29b58a5aaa2159683314841f90..1a30fab8e52c3b14ae1ba908d7b33873
|
|||||||
private Optional<BlockPos> lastClimbablePos;
|
private Optional<BlockPos> lastClimbablePos;
|
||||||
@Nullable
|
@Nullable
|
||||||
private DamageSource lastDamageSource;
|
private DamageSource lastDamageSource;
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 9b73017d8ace6229aff2688981ffa69caf336dd5..9cd0abc273391be06511d1f60fe594711ef16f00 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -487,6 +487,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean netherPortalFix = false;
|
|
||||||
+ private static void netherPortalFix() {
|
|
||||||
+ netherPortalFix = getBoolean("settings.modify.return-nether-portal-fix", netherPortalFix);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/ReturnPortalManager.java b/src/main/java/top/leavesmc/leaves/util/ReturnPortalManager.java
|
diff --git a/src/main/java/top/leavesmc/leaves/util/ReturnPortalManager.java b/src/main/java/top/leavesmc/leaves/util/ReturnPortalManager.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..24f887cbe608eea3beb7dc69cabdca7f32a66a9d
|
index 0000000000000000000000000000000000000000..24f887cbe608eea3beb7dc69cabdca7f32a66a9d
|
||||||
@@ -17,7 +17,7 @@ index a932f1096fb9a89644d649edc2ef70491d187786..38fe3c8ae7ee5788760f4c295936ccf3
|
|||||||
MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper
|
MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper
|
||||||
for (int i = 0; i < this.tickables.size(); ++i) {
|
for (int i = 0; i < this.tickables.size(); ++i) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 930171ea05c8acbc7790a3067ace9bdb1bf8315a..9545676ab8d21c43437004ad9b13536d498969de 100644
|
index 5c8fa90a620cad3325b772cca3c5ff374737e7d6..b3315ba92466871fb511980c0348aad80bf5742f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -363,6 +363,7 @@ public abstract class PlayerList {
|
@@ -363,6 +363,7 @@ public abstract class PlayerList {
|
||||||
@@ -54,22 +54,6 @@ index 3116933c347135bdad6115947c4fa8a8eac195cd..053a90ad98c4aa147d338ee2d30d12b1
|
|||||||
for (ServerLevel world : this.console.getAllLevels()) {
|
for (ServerLevel world : this.console.getAllLevels()) {
|
||||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 9cd0abc273391be06511d1f60fe594711ef16f00..ec4bb4e4b08ba3165d978ffd3f055e1aeb6f3f50 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -492,6 +492,11 @@ public final class LeavesConfig {
|
|
||||||
netherPortalFix = getBoolean("settings.modify.return-nether-portal-fix", netherPortalFix);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean appleskinProtocol = false;
|
|
||||||
+ private static void appleskinProtocol() {
|
|
||||||
+ appleskinProtocol = getBoolean("settings.protocol.appleskin-protocol", appleskinProtocol);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/protocol/AppleSkinProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/AppleSkinProtocol.java
|
diff --git a/src/main/java/top/leavesmc/leaves/protocol/AppleSkinProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/AppleSkinProtocol.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..6f0b2140df822dc86e360837780768f2f5203041
|
index 0000000000000000000000000000000000000000..6f0b2140df822dc86e360837780768f2f5203041
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Xaero Map Protocol
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 9545676ab8d21c43437004ad9b13536d498969de..abae9652bd3909c619d12bd7c9c16136ab997134 100644
|
index b3315ba92466871fb511980c0348aad80bf5742f..da0e91967fb3b303fa5c3b4cf651fbb28ecf31b8 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -1295,6 +1295,7 @@ public abstract class PlayerList {
|
@@ -1295,6 +1295,7 @@ public abstract class PlayerList {
|
||||||
@@ -16,32 +16,6 @@ index 9545676ab8d21c43437004ad9b13536d498969de..abae9652bd3909c619d12bd7c9c16136
|
|||||||
if (world.isRaining()) {
|
if (world.isRaining()) {
|
||||||
// CraftBukkit start - handle player weather
|
// CraftBukkit start - handle player weather
|
||||||
// entityplayer.connection.send(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.START_RAINING, 0.0F));
|
// entityplayer.connection.send(new PacketPlayOutGameStateChange(PacketPlayOutGameStateChange.START_RAINING, 0.0F));
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index ec4bb4e4b08ba3165d978ffd3f055e1aeb6f3f50..e265d335d57b3f4639c9ad03cb80e9997fa26695 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -20,6 +20,7 @@ import java.lang.reflect.Modifier;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
+import java.util.Random;
|
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
// Powered by Tuinity(https://github.com/Tuinity/Tuinity)
|
|
||||||
@@ -497,6 +498,13 @@ public final class LeavesConfig {
|
|
||||||
appleskinProtocol = getBoolean("settings.protocol.appleskin-protocol", appleskinProtocol);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean xaeroMapProtocol = false;
|
|
||||||
+ public static int xaeroMapServerID = new Random().nextInt();
|
|
||||||
+ private static void xaeroMapProtocol() {
|
|
||||||
+ xaeroMapProtocol = getBoolean("settings.protocol.xaero-map-protocol", xaeroMapProtocol);
|
|
||||||
+ xaeroMapServerID = getInt("settings.protocol.xaero-map-server-id", xaeroMapServerID);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/protocol/XaeroMapProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/XaeroMapProtocol.java
|
diff --git a/src/main/java/top/leavesmc/leaves/protocol/XaeroMapProtocol.java b/src/main/java/top/leavesmc/leaves/protocol/XaeroMapProtocol.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..01c370ec64835fdd038256560f89ed251b3d3d6d
|
index 0000000000000000000000000000000000000000..01c370ec64835fdd038256560f89ed251b3d3d6d
|
||||||
@@ -18,7 +18,7 @@ index 1459a1f99fe614d072a087cda18788cf13102645..73bfda834fa704b208a5dd9271bb397a
|
|||||||
super(proxy);
|
super(proxy);
|
||||||
this.environment = EnvironmentParser.getEnvironmentFromProperties().orElse(YggdrasilEnvironment.PROD.getEnvironment());
|
this.environment = EnvironmentParser.getEnvironmentFromProperties().orElse(YggdrasilEnvironment.PROD.getEnvironment());
|
||||||
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
||||||
index cdbf10339a8e8846a8c364de483a0ccd95cd225a..60bfeafed9a6ce7a8b9de128268f462bc0f7d947 100644
|
index dae36c6452ccd57a436dd918547b64d59957ab0a..973ecf723e4239307600b42f2d12c264f44d1827 100644
|
||||||
--- a/src/main/java/net/minecraft/server/Main.java
|
--- a/src/main/java/net/minecraft/server/Main.java
|
||||||
+++ b/src/main/java/net/minecraft/server/Main.java
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
||||||
@@ -193,7 +193,7 @@ public class Main {
|
@@ -193,7 +193,7 @@ public class Main {
|
||||||
@@ -31,7 +31,7 @@ index cdbf10339a8e8846a8c364de483a0ccd95cd225a..60bfeafed9a6ce7a8b9de128268f462b
|
|||||||
String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
|
String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
|
||||||
LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath());
|
LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath());
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index e265d335d57b3f4639c9ad03cb80e9997fa26695..fd79c97dc8bda65b47e8e0e792e3525bae9e2b7b 100644
|
index 3c80c9f96f79ce3313053cdfabaa958bc2d2a2fb..31fe65c09376544cd919eb2e1acfb3b56b5b9c3b 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -11,6 +11,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
@@ -11,6 +11,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
@@ -42,25 +42,16 @@ index e265d335d57b3f4639c9ad03cb80e9997fa26695..fd79c97dc8bda65b47e8e0e792e3525b
|
|||||||
import top.leavesmc.leaves.util.MathUtils;
|
import top.leavesmc.leaves.util.MathUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -505,6 +506,18 @@ public final class LeavesConfig {
|
@@ -481,6 +482,9 @@ public final class LeavesConfig {
|
||||||
xaeroMapServerID = getInt("settings.protocol.xaero-map-server-id", xaeroMapServerID);
|
extraYggdrasilService = getBoolean("settings.misc.extra-yggdrasil-service.enable", extraYggdrasilService);
|
||||||
}
|
extraYggdrasilServiceList = getList("settings.misc.extra-yggdrasil-service.urls", extraYggdrasilServiceList);
|
||||||
|
if (extraYggdrasilService) {
|
||||||
+ public static boolean extraYggdrasilService = false;
|
|
||||||
+ public static List<String> extraYggdrasilServiceList = List.of("https://url.with.authlib-injector-yggdrasil");
|
|
||||||
+ private static void extraYggdrasilService() {
|
|
||||||
+ extraYggdrasilService = getBoolean("settings.misc.extra-yggdrasil-service.enable", extraYggdrasilService);
|
|
||||||
+ extraYggdrasilServiceList = getList("settings.misc.extra-yggdrasil-service.urls", extraYggdrasilServiceList);
|
|
||||||
+ if (extraYggdrasilService) {
|
|
||||||
+ LeavesLogger.LOGGER.warning("extra-yggdrasil-service is an unofficial support. Enabling it may cause data security problems!");
|
+ LeavesLogger.LOGGER.warning("extra-yggdrasil-service is an unofficial support. Enabling it may cause data security problems!");
|
||||||
+ GlobalConfiguration.get().unsupportedSettings.performUsernameValidation = true; // always check user name
|
+ GlobalConfiguration.get().unsupportedSettings.performUsernameValidation = true; // always check user name
|
||||||
+ LeavesMinecraftSessionService.initExtraYggdrasilList();
|
+ LeavesMinecraftSessionService.initExtraYggdrasilList();
|
||||||
+ }
|
}
|
||||||
+ }
|
}
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/profile/LeavesAuthenticationService.java b/src/main/java/top/leavesmc/leaves/profile/LeavesAuthenticationService.java
|
diff --git a/src/main/java/top/leavesmc/leaves/profile/LeavesAuthenticationService.java b/src/main/java/top/leavesmc/leaves/profile/LeavesAuthenticationService.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..ee10e314a7e1af28ea008123f75caee26515b692
|
index 0000000000000000000000000000000000000000..ee10e314a7e1af28ea008123f75caee26515b692
|
||||||
@@ -30,23 +30,3 @@ index b72006c4b2342ca9d9a81f54f89fa6d979c33c85..4bcaf4387b509df13e8798990f363a54
|
|||||||
this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
|
this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index fd79c97dc8bda65b47e8e0e792e3525bae9e2b7b..201eca1046fd296899538fc630d3857b3579f4a3 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -518,6 +518,15 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean useVanillaRandom = false;
|
|
||||||
+ private static boolean useVanillaRandomLock = false;
|
|
||||||
+ private static void useVanillaRandom() {
|
|
||||||
+ if (!useVanillaRandomLock) {
|
|
||||||
+ useVanillaRandom = getBoolean("settings.modify.use-vanilla-random", useVanillaRandom);
|
|
||||||
+ useVanillaRandomLock = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -60,22 +60,6 @@ index 19faa8f5f891c1ffbed0af8391dee8202433c447..0f8d5495f9f7306f3267a0741cb6a1a6
|
|||||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception while updating neighbours");
|
CrashReport crashreport = CrashReport.forThrowable(throwable, "Exception while updating neighbours");
|
||||||
CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Block being updated");
|
CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Block being updated");
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 201eca1046fd296899538fc630d3857b3579f4a3..dc27195871590ba2b13d299cca5a63193a3da9d5 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -527,6 +527,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean updateSuppressionCrashFix = true;
|
|
||||||
+ private static void updateSuppressionCrashFix() {
|
|
||||||
+ updateSuppressionCrashFix = getBoolean("settings.modify.fix-update-suppression-crash", updateSuppressionCrashFix);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/UpdateSuppressionException.java b/src/main/java/top/leavesmc/leaves/util/UpdateSuppressionException.java
|
diff --git a/src/main/java/top/leavesmc/leaves/util/UpdateSuppressionException.java b/src/main/java/top/leavesmc/leaves/util/UpdateSuppressionException.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..fa4c91f4ba9a8eab4fdea97737ed778af46518dc
|
index 0000000000000000000000000000000000000000..fa4c91f4ba9a8eab4fdea97737ed778af46518dc
|
||||||
@@ -78,26 +78,6 @@ index ee316f2474e43c1e644632772e9eb9cc181756c6..7931f202793e04dcde5a317f06b2a8c4
|
|||||||
world.removeBlock(headPos, false);
|
world.removeBlock(headPos, false);
|
||||||
} else {
|
} else {
|
||||||
((ServerLevel)world).getChunkSource().blockChanged(headPos); // ... fix client desync
|
((ServerLevel)world).getChunkSource().blockChanged(headPos); // ... fix client desync
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index dc27195871590ba2b13d299cca5a63193a3da9d5..7936ede1225be757c89e24af8a56530cfc7042f3 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -532,6 +532,15 @@ public final class LeavesConfig {
|
|
||||||
updateSuppressionCrashFix = getBoolean("settings.modify.fix-update-suppression-crash", updateSuppressionCrashFix);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean bedrockBreakList = false;
|
|
||||||
+ private static boolean bedrockBreakListLock = false;
|
|
||||||
+ private static void bedrockBreakList() {
|
|
||||||
+ if (!bedrockBreakListLock) {
|
|
||||||
+ bedrockBreakList = getBoolean("settings.modify.bedrock-break-list", bedrockBreakList);
|
|
||||||
+ bedrockBreakListLock = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/util/BreakBedrockList.java b/src/main/java/top/leavesmc/leaves/util/BreakBedrockList.java
|
diff --git a/src/main/java/top/leavesmc/leaves/util/BreakBedrockList.java b/src/main/java/top/leavesmc/leaves/util/BreakBedrockList.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..a1194aca9f70a44472d1f2ce0cbd6a3e0463eba9
|
index 0000000000000000000000000000000000000000..a1194aca9f70a44472d1f2ce0cbd6a3e0463eba9
|
||||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Syncmatica Protocol
|
|||||||
This patch is Powered by Syncmatica(https://github.com/End-Tech/syncmatica)
|
This patch is Powered by Syncmatica(https://github.com/End-Tech/syncmatica)
|
||||||
|
|
||||||
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 46a7cd5598054ec1acbcbf29b9630e1dde8e6a10..f5c43e538f730df9c400d5d74fafc2ecce28c754 100644
|
index 2640a9cac120b779d228018dfc375c4337e2147f..d1d55f8c38cf3d3af6105c92c67132d7ec146a7b 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
|
||||||
@@ -322,6 +322,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -322,6 +322,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
@@ -54,7 +54,7 @@ index 46a7cd5598054ec1acbcbf29b9630e1dde8e6a10..f5c43e538f730df9c400d5d74fafc2ec
|
|||||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
|
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
|
||||||
this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD);
|
this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD);
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
index 7936ede1225be757c89e24af8a56530cfc7042f3..1fd9d864d76f264eec4b8413f2653460c181521b 100644
|
index 31fe65c09376544cd919eb2e1acfb3b56b5b9c3b..5aace3df337338fddbac2a6069d3b558e1f14442 100644
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||||
@@ -12,6 +12,7 @@ import org.spigotmc.SpigotConfig;
|
@@ -12,6 +12,7 @@ import org.spigotmc.SpigotConfig;
|
||||||
@@ -65,25 +65,14 @@ index 7936ede1225be757c89e24af8a56530cfc7042f3..1fd9d864d76f264eec4b8413f2653460
|
|||||||
import top.leavesmc.leaves.util.MathUtils;
|
import top.leavesmc.leaves.util.MathUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -541,6 +542,18 @@ public final class LeavesConfig {
|
@@ -519,6 +520,7 @@ public final class LeavesConfig {
|
||||||
|
syncmaticaQuota = getBoolean("settings.protocol.syncmatica.quota", syncmaticaQuota);
|
||||||
|
syncmaticaQuotaLimit = getInt("settings.protocol.syncmatica.quota-limit", syncmaticaQuotaLimit);
|
||||||
|
if (syncmaticaProtocol) {
|
||||||
|
+ SyncmaticaProtocol.init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
+ public static boolean syncmaticaProtocol = false;
|
|
||||||
+ public static boolean syncmaticaQuota = false;
|
|
||||||
+ public static int syncmaticaQuotaLimit = 40000000;
|
|
||||||
+ private static void syncmaticaProtocol() {
|
|
||||||
+ syncmaticaProtocol = getBoolean("settings.protocol.syncmatica.enable", syncmaticaProtocol);
|
|
||||||
+ syncmaticaQuota = getBoolean("settings.protocol.syncmatica.quota", syncmaticaQuota);
|
|
||||||
+ syncmaticaQuotaLimit = getInt("settings.protocol.syncmatica.quota-limit", syncmaticaQuotaLimit);
|
|
||||||
+ if (syncmaticaProtocol) {
|
|
||||||
+ SyncmaticaProtocol.init();
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java b/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
|
diff --git a/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java b/src/main/java/top/leavesmc/leaves/protocol/syncmatica/CommunicationManager.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..1dda69bb2ab8103d0886a7800c227344d7fc32f7
|
index 0000000000000000000000000000000000000000..1dda69bb2ab8103d0886a7800c227344d7fc32f7
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable distance check for UseItemOnPacket
|
|||||||
|
|
||||||
|
|
||||||
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 f5c43e538f730df9c400d5d74fafc2ecce28c754..8868da64ca18ddf674dab200dfab3a5412f70e1c 100644
|
index d1d55f8c38cf3d3af6105c92c67132d7ec146a7b..c6a96cc5c398f3a114aee9358b70ae32e38b967e 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
|
||||||
@@ -1954,7 +1954,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -1954,7 +1954,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
@@ -17,22 +17,3 @@ index f5c43e538f730df9c400d5d74fafc2ecce28c754..8868da64ca18ddf674dab200dfab3a54
|
|||||||
Direction enumdirection = movingobjectpositionblock.getDirection();
|
Direction enumdirection = movingobjectpositionblock.getDirection();
|
||||||
|
|
||||||
this.player.resetLastActionTime();
|
this.player.resetLastActionTime();
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 1fd9d864d76f264eec4b8413f2653460c181521b..0c852de41030dd0e2cab49790903de8097a0124d 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -554,6 +554,14 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean disableDistanceCheckForUseItem = false;
|
|
||||||
+ private static void disableDistanceCheckForUseItem() {
|
|
||||||
+ disableDistanceCheckForUseItem = getBoolean("settings.modify.disable-distance-check-for-use-item", disableDistanceCheckForUseItem);
|
|
||||||
+ if (carpetAlternativeBlockPlacement) {
|
|
||||||
+ disableDistanceCheckForUseItem = true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -22,19 +22,3 @@ index 552d8c8f3f56bfccd25d11488ed7ec1644a92f47..a0af2e1b417a311464d09d3a9fb458f9
|
|||||||
// CraftBukkit start - Interact soil
|
// CraftBukkit start - Interact soil
|
||||||
org.bukkit.event.Cancellable cancellable;
|
org.bukkit.event.Cancellable cancellable;
|
||||||
if (entity instanceof Player) {
|
if (entity instanceof Player) {
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index 0c852de41030dd0e2cab49790903de8097a0124d..dc763705f4e8982bd99a7cd5db5e8487574d2753 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -562,6 +562,11 @@ public final class LeavesConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean noFeatherFallingTrample = false;
|
|
||||||
+ private static void noFeatherFallingTrample() {
|
|
||||||
+ noFeatherFallingTrample = getBoolean("settings.modify.no-feather-falling-trample", noFeatherFallingTrample);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
@@ -25,19 +25,3 @@ index 097007c1c25ba55d9916fc820dd1d1149d81f6f4..67c0a46b098d631b862df80511990c39
|
|||||||
return entityGossips != null ? entityGossips.weightedValue(gossipTypeFilter) : 0;
|
return entityGossips != null ? entityGossips.weightedValue(gossipTypeFilter) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
index dc763705f4e8982bd99a7cd5db5e8487574d2753..673b2608371b7e943d2214f78e39345c07ee8a36 100644
|
|
||||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
|
||||||
@@ -567,6 +567,11 @@ public final class LeavesConfig {
|
|
||||||
noFeatherFallingTrample = getBoolean("settings.modify.no-feather-falling-trample", noFeatherFallingTrample);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ public static boolean sharedVillagerDiscounts = false;
|
|
||||||
+ private static void sharedVillagerDiscounts() {
|
|
||||||
+ sharedVillagerDiscounts = getBoolean("settings.modify.shared-villager-discounts", sharedVillagerDiscounts);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
public static final class WorldConfig {
|
|
||||||
|
|
||||||
public final String worldName;
|
|
||||||
Reference in New Issue
Block a user