19
19
20
20
diff --git a/io/papermc/paper/redstone/RedstoneWireTurbo.java b/io/papermc/paper/redstone/RedstoneWireTurbo.java
21
21
new file mode 100644
22
- index 0000000000000000000000000000000000000000..ff747a1ecdf3c888bca0d69de4f85dcd810b6139
22
+ index 0000000000000000000000000000000000000000..759211f717ad117b4d4ab00445a811eccba30915
23
23
--- /dev/null
24
24
+++ b/io/papermc/paper/redstone/RedstoneWireTurbo.java
25
- @@ -0,0 +1,954 @@
25
+ @@ -0,0 +1,951 @@
26
26
+ package io.papermc.paper.redstone;
27
27
+
28
28
+ import java.util.List;
@@ -36,8 +36,7 @@ index 0000000000000000000000000000000000000000..ff747a1ecdf3c888bca0d69de4f85dcd
36
36
+ import net.minecraft.world.level.block.Block;
37
37
+ import net.minecraft.world.level.block.RedStoneWireBlock;
38
38
+ import net.minecraft.world.level.block.state.BlockState;
39
- + import org.bukkit.craftbukkit.block.CraftBlock;
40
- + import org.bukkit.event.block.BlockRedstoneEvent;
39
+ + import org.bukkit.craftbukkit.event.CraftEventFactory;
41
40
+
42
41
+ import com.google.common.collect.Lists;
43
42
+ import com.google.common.collect.Maps;
@@ -917,9 +916,7 @@ index 0000000000000000000000000000000000000000..ff747a1ecdf3c888bca0d69de4f85dcd
917
916
+ // egg82's amendment
918
917
+ // Adding Bukkit's BlockRedstoneEvent - er.. event.
919
918
+ if (i != j) {
920
- + BlockRedstoneEvent event = new BlockRedstoneEvent(CraftBlock.at(worldIn, upd.self), i, j);
921
- + worldIn.getCraftServer().getPluginManager().callEvent(event);
922
- + j = event.getNewCurrent();
919
+ + j = CraftEventFactory.callRedstoneChange(worldIn, upd.self, i, j).getNewCurrent();
923
920
+ }
924
921
+
925
922
+ if (i != j) {
@@ -978,10 +975,10 @@ index 0000000000000000000000000000000000000000..ff747a1ecdf3c888bca0d69de4f85dcd
978
975
+ }
979
976
+ }
980
977
diff --git a/net/minecraft/world/level/block/RedStoneWireBlock.java b/net/minecraft/world/level/block/RedStoneWireBlock.java
981
- index 84e6c986917128d4488afa23d29c689cadb4f55d..f02232ce97779db0d12a5d5da1d767326d78ea4c 100644
978
+ index 84e6c986917128d4488afa23d29c689cadb4f55d..ebabc60f1be221536ba082d606fac3dd20a069da 100644
982
979
--- a/net/minecraft/world/level/block/RedStoneWireBlock.java
983
980
+++ b/net/minecraft/world/level/block/RedStoneWireBlock.java
984
- @@ -290,6 +290,60 @@ public class RedStoneWireBlock extends Block {
981
+ @@ -290,6 +290,57 @@ public class RedStoneWireBlock extends Block {
985
982
return state.isFaceSturdy(level, pos, Direction.UP) || state.is(Blocks.HOPPER);
986
983
}
987
984
@@ -1021,10 +1018,7 @@ index 84e6c986917128d4488afa23d29c689cadb4f55d..f02232ce97779db0d12a5d5da1d76732
1021
1018
+ int oldPower = state.getValue(POWER);
1022
1019
+ int newPower = ((DefaultRedstoneWireEvaluator) evaluator).calculateTargetStrength(level, pos);
1023
1020
+ if (oldPower != newPower) {
1024
- + org.bukkit.event.block.BlockRedstoneEvent event = new org.bukkit.event.block.BlockRedstoneEvent(org.bukkit.craftbukkit.block.CraftBlock.at(level, pos), oldPower, newPower);
1025
- + level.getCraftServer().getPluginManager().callEvent(event);
1026
- +
1027
- + newPower = event.getNewCurrent();
1021
+ + newPower = org.bukkit.craftbukkit.event.CraftEventFactory.callRedstoneChange(level, pos, oldPower, newPower).getNewCurrent();
1028
1022
+
1029
1023
+ if (level.getBlockState(pos) == state) {
1030
1024
+ state = state.setValue(POWER, newPower);
@@ -1042,7 +1036,7 @@ index 84e6c986917128d4488afa23d29c689cadb4f55d..f02232ce97779db0d12a5d5da1d76732
1042
1036
private void updatePowerStrength(Level level, BlockPos pos, BlockState state, @Nullable Orientation orientation, boolean updateShape) {
1043
1037
if (useExperimentalEvaluator(level)) {
1044
1038
new ExperimentalRedstoneWireEvaluator(this).updatePowerStrength(level, pos, state, orientation, updateShape);
1045
- @@ -318,7 +372 ,7 @@ public class RedStoneWireBlock extends Block {
1039
+ @@ -318,7 +369 ,7 @@ public class RedStoneWireBlock extends Block {
1046
1040
@Override
1047
1041
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean isMoving) {
1048
1042
if (!oldState.is(state.getBlock()) && !level.isClientSide) {
@@ -1051,7 +1045,7 @@ index 84e6c986917128d4488afa23d29c689cadb4f55d..f02232ce97779db0d12a5d5da1d76732
1051
1045
1052
1046
for (Direction direction : Direction.Plane.VERTICAL) {
1053
1047
level.updateNeighborsAt(pos.relative(direction), this);
1054
- @@ -337,7 +391 ,7 @@ public class RedStoneWireBlock extends Block {
1048
+ @@ -337,7 +388 ,7 @@ public class RedStoneWireBlock extends Block {
1055
1049
level.updateNeighborsAt(pos.relative(direction), this);
1056
1050
}
1057
1051
@@ -1060,7 +1054,7 @@ index 84e6c986917128d4488afa23d29c689cadb4f55d..f02232ce97779db0d12a5d5da1d76732
1060
1054
this.updateNeighborsOfNeighboringWires(level, pos);
1061
1055
}
1062
1056
}
1063
- @@ -363,7 +417 ,7 @@ public class RedStoneWireBlock extends Block {
1057
+ @@ -363,7 +414 ,7 @@ public class RedStoneWireBlock extends Block {
1064
1058
if (!level.isClientSide) {
1065
1059
if (neighborBlock != this || !useExperimentalEvaluator(level)) {
1066
1060
if (state.canSurvive(level, pos)) {
@@ -1070,10 +1064,10 @@ index 84e6c986917128d4488afa23d29c689cadb4f55d..f02232ce97779db0d12a5d5da1d76732
1070
1064
dropResources(state, level, pos);
1071
1065
level.removeBlock(pos, false);
1072
1066
diff --git a/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.java b/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.java
1073
- index 380fc51a252022195e178daccd8aa53dd1d71a2e..2d77780b6727f82ffc3cb216ca5f2d6483496cfd 100644
1067
+ index d5e8e5fbcd6f3429ff081da6cd08acfc40091765..71ec6c89f1254ed625ddf7da96c32fcd2a0f6ea3 100644
1074
1068
--- a/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.java
1075
1069
+++ b/net/minecraft/world/level/redstone/DefaultRedstoneWireEvaluator.java
1076
- @@ -44 ,7 +44 ,7 @@ public class DefaultRedstoneWireEvaluator extends RedstoneWireEvaluator {
1070
+ @@ -41 ,7 +41 ,7 @@ public class DefaultRedstoneWireEvaluator extends RedstoneWireEvaluator {
1077
1071
}
1078
1072
}
1079
1073
0 commit comments