mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
--------- Co-authored-by: violetc <58360096+s-yh-china@users.noreply.github.com> Co-authored-by: Fortern <blueten.ki@gmail.com> Co-authored-by: MC_XiaoHei <xor7xiaohei@gmail.com> Co-authored-by: Helvetica Volubi <88063803+Suisuroru@users.noreply.github.com> Co-authored-by: MC_XiaoHei <xiaohei.xor7@outlook.com>
53 lines
3.7 KiB
Diff
53 lines
3.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
Date: Wed, 14 Jun 2023 12:07:07 +0800
|
|
Subject: [PATCH] Redstone ignore upwards update
|
|
|
|
|
|
diff --git a/net/minecraft/world/level/block/ComparatorBlock.java b/net/minecraft/world/level/block/ComparatorBlock.java
|
|
index afecf6bb6152b4d9dfee4cd8c5b1d798cbf723b3..0e51c10987a7b1964d1be3b2942c28aa6b0eb8d9 100644
|
|
--- a/net/minecraft/world/level/block/ComparatorBlock.java
|
|
+++ b/net/minecraft/world/level/block/ComparatorBlock.java
|
|
@@ -58,6 +58,7 @@ public class ComparatorBlock extends DiodeBlock implements EntityBlock {
|
|
BlockState neighborState,
|
|
RandomSource random
|
|
) {
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.redstoneIgnoreUpwardsUpdate && direction == Direction.DOWN) return state; // Leaves - behavior to 1.20.1
|
|
return direction == Direction.DOWN && !this.canSurviveOn(level, neighborPos, neighborState)
|
|
? Blocks.AIR.defaultBlockState()
|
|
: super.updateShape(state, level, scheduledTickAccess, pos, direction, neighborPos, neighborState, random);
|
|
diff --git a/net/minecraft/world/level/block/RedStoneWireBlock.java b/net/minecraft/world/level/block/RedStoneWireBlock.java
|
|
index 1943a6aad888647953e2d9dbbeedb0bd81c6f9df..35dc47d5ba1a2659304ccc08010611438ccf04d8 100644
|
|
--- a/net/minecraft/world/level/block/RedStoneWireBlock.java
|
|
+++ b/net/minecraft/world/level/block/RedStoneWireBlock.java
|
|
@@ -179,7 +179,7 @@ public class RedStoneWireBlock extends Block {
|
|
RandomSource random
|
|
) {
|
|
if (direction == Direction.DOWN) {
|
|
- return !this.canSurviveOn(level, neighborPos, neighborState) ? Blocks.AIR.defaultBlockState() : state;
|
|
+ return org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.redstoneIgnoreUpwardsUpdate ? state : !this.canSurviveOn(level, neighborPos, neighborState) ? Blocks.AIR.defaultBlockState() : state; // Leaves - behavior to 1.19
|
|
} else if (direction == Direction.UP) {
|
|
return this.getConnectionState(level, state, pos);
|
|
} else {
|
|
@@ -238,7 +238,7 @@ public class RedStoneWireBlock extends Block {
|
|
BlockPos blockPos = pos.relative(direction);
|
|
BlockState blockState = level.getBlockState(blockPos);
|
|
if (nonNormalCubeAbove) {
|
|
- boolean flag = blockState.getBlock() instanceof TrapDoorBlock || this.canSurviveOn(level, blockPos, blockState);
|
|
+ boolean flag = (!org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.redstoneIgnoreUpwardsUpdate && blockState.getBlock() instanceof TrapDoorBlock) || this.canSurviveOn(level, blockPos, blockState); // Leaves - behavior to 1.19
|
|
if (flag && shouldConnectTo(level.getBlockState(blockPos.above()))) {
|
|
if (blockState.isFaceSturdy(level, blockPos, direction.getOpposite())) {
|
|
return RedstoneSide.UP;
|
|
diff --git a/net/minecraft/world/level/block/RepeaterBlock.java b/net/minecraft/world/level/block/RepeaterBlock.java
|
|
index 1d45564253258eebdf10470dd7eefa644a4151ae..13c1974dd368579f5c3d11b87e1c3eff02d69ac7 100644
|
|
--- a/net/minecraft/world/level/block/RepeaterBlock.java
|
|
+++ b/net/minecraft/world/level/block/RepeaterBlock.java
|
|
@@ -68,6 +68,7 @@ public class RepeaterBlock extends DiodeBlock {
|
|
BlockState neighborState,
|
|
RandomSource random
|
|
) {
|
|
+ if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.updater.redstoneIgnoreUpwardsUpdate && direction == Direction.DOWN) return state; // Leaves - behavior to 1.20.1
|
|
if (direction == Direction.DOWN && !this.canSurviveOn(level, neighborPos, neighborState)) {
|
|
return Blocks.AIR.defaultBlockState();
|
|
} else {
|