Yatopia/patches/Origami/patches/server/0005-Add-option-to-disable-...

38 lines
2.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 31 Mar 2020 21:43:04 +0100
Subject: [PATCH] Add option to disable observer clocks
diff --git a/src/main/java/de/minebench/origami/OrigamiConfig.java b/src/main/java/de/minebench/origami/OrigamiConfig.java
index adee28db7c3eecae30b2b05f3eef3fb1bcc1cfbd..bd81abc4dc17491c9c4bb10c2edb4e1ca103c8f8 100644
--- a/src/main/java/de/minebench/origami/OrigamiConfig.java
+++ b/src/main/java/de/minebench/origami/OrigamiConfig.java
@@ -118,6 +118,11 @@ public final class OrigamiConfig {
tickEmptyHoppers = getBoolean("tick-empty-hoppers", tickEmptyHoppers);
fullHopperCooldown = getInt("ticks-per.full-hopper-cooldown", fullHopperCooldown);
}
+
+ public boolean disableObserverClocks = false;
+ private void observerClock() {
+ disableObserverClocks = getBoolean("disable-observer-clocks", disableObserverClocks);
+ }
}
}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/world/level/block/BlockObserver.java b/src/main/java/net/minecraft/world/level/block/BlockObserver.java
index 291fd45f6f97c561edaaf8b659920d2c3b6aba46..039fd27455c0b56721caf9ce66975aef71d2caa6 100644
--- a/src/main/java/net/minecraft/world/level/block/BlockObserver.java
+++ b/src/main/java/net/minecraft/world/level/block/BlockObserver.java
@@ -64,7 +64,8 @@ public class BlockObserver extends BlockDirectional {
@Override
public IBlockData updateState(IBlockData iblockdata, EnumDirection enumdirection, IBlockData iblockdata1, GeneratorAccess generatoraccess, BlockPosition blockposition, BlockPosition blockposition1) {
- if (iblockdata.get(BlockObserver.FACING) == enumdirection && !(Boolean) iblockdata.get(BlockObserver.b)) {
+ if (iblockdata.get(BlockObserver.FACING) == enumdirection && !(Boolean) iblockdata.get(BlockObserver.b)
+ && (!generatoraccess.getMinecraftWorld().origamiConfig.disableObserverClocks || !(iblockdata1.getBlock() instanceof BlockObserver) || iblockdata1.get(BlockObserver.FACING).opposite() != enumdirection)) { // Origami - disable Observer clocks
this.a(generatoraccess, blockposition);
}