Robotia 9 years ago
parent
commit
6543b76fea
  1. 30
      patches/net/minecraft/block/BlockRedstoneDiode.java.patch
  2. 27
      patches/net/minecraft/block/BlockRedstoneTorch.java.patch
  3. 11
      src/main/java/net/minecraftforge/cauldron/configuration/CauldronConfig.java

30
patches/net/minecraft/block/BlockRedstoneDiode.java.patch

@ -1,35 +1,37 @@
--- ../src-base/minecraft/net/minecraft/block/BlockRedstoneDiode.java --- ../src-base/minecraft/net/minecraft/block/BlockRedstoneDiode.java
+++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneDiode.java +++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneDiode.java
@@ -13,16 +13,19 @@ @@ -13,16 +13,22 @@
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
+import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit +import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit
+
+import net.minecraftforge.cauldron.configuration.CauldronConfig;
+ +
public abstract class BlockRedstoneDiode extends BlockDirectional public abstract class BlockRedstoneDiode extends BlockDirectional
{ {
protected final boolean isRepeaterPowered; protected final boolean isRepeaterPowered;
private static final String __OBFID = "CL_00000226"; private static final String __OBFID = "CL_00000226";
- + private boolean limit;
+private boolean limit;
protected BlockRedstoneDiode(boolean p_i45400_1_) protected BlockRedstoneDiode(boolean p_i45400_1_)
{ {
super(Material.circuits); super(Material.circuits);
this.isRepeaterPowered = p_i45400_1_; this.isRepeaterPowered = p_i45400_1_;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F);
+if(this.getClass().getSimpleName().toLowerCase().contains("redstonerepeater"))limit = true; + if(this.getClass().getSimpleName().toLowerCase().contains("redstonerepeater"))limit = true;
} }
public boolean renderAsNormalBlock() public boolean renderAsNormalBlock()
@@ -39,27 +42,45 @@ @@ -40,22 +46,37 @@
{
return !World.doesBlockHaveSolidTopSurface(p_149718_1_, p_149718_2_, p_149718_3_ - 1, p_149718_4_) ? false : super.canBlockStay(p_149718_1_, p_149718_2_, p_149718_3_, p_149718_4_); return !World.doesBlockHaveSolidTopSurface(p_149718_1_, p_149718_2_, p_149718_3_ - 1, p_149718_4_) ? false : super.canBlockStay(p_149718_1_, p_149718_2_, p_149718_3_, p_149718_4_);
} }
-
+boolean state = false; + private long last = 0L;
+long last = 0L;
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_)
{ {
+ if (System.currentTimeMillis() - last <= CauldronConfig.instance.repeaterL.getValue()) { return; }
+ last = System.currentTimeMillis();
int l = p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_); int l = p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_);
- if (!this.func_149910_g(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, l)) - if (!this.func_149910_g(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, l))
@ -44,11 +46,9 @@
+ { + {
+ return; + return;
+ } + }
+if(limit && System.currentTimeMillis() - last <= 150)return;
+ +
+ // CraftBukkit end + // CraftBukkit end
p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockUnpowered(), l, 2); p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockUnpowered(), l, 2);
+last = System.currentTimeMillis();
} }
else if (!this.isRepeaterPowered) else if (!this.isRepeaterPowered)
{ {
@ -57,18 +57,12 @@
+ { + {
+ return; + return;
+ } + }
+if(limit && System.currentTimeMillis() - last <= 150)return;
+ // CraftBukkit end + // CraftBukkit end
p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockPowered(), l, 2); p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockPowered(), l, 2);
-
if (!flag) if (!flag)
{ {
p_149674_1_.scheduleBlockUpdateWithPriority(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockPowered(), this.func_149899_k(l), -1); p_149674_1_.scheduleBlockUpdateWithPriority(p_149674_2_, p_149674_3_, p_149674_4_, this.getBlockPowered(), this.func_149899_k(l), -1);
}
+last = System.currentTimeMillis();
}
}
}
@@ -315,4 +336,4 @@ @@ -315,4 +336,4 @@
{ {
return this.func_149907_e(p_149667_1_); return this.func_149907_e(p_149667_1_);

27
patches/net/minecraft/block/BlockRedstoneTorch.java.patch

@ -1,23 +1,30 @@
--- ../src-base/minecraft/net/minecraft/block/BlockRedstoneTorch.java --- ../src-base/minecraft/net/minecraft/block/BlockRedstoneTorch.java
+++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneTorch.java +++ ../src-work/minecraft/net/minecraft/block/BlockRedstoneTorch.java
@@ -13,6 +13,8 @@ @@ -13,6 +13,10 @@
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
+import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit +import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit
+
+import net.minecraftforge.cauldron.configuration.CauldronConfig;
+ +
public class BlockRedstoneTorch extends BlockTorch public class BlockRedstoneTorch extends BlockTorch
{ {
private boolean field_150113_a; private boolean field_150113_a;
@@ -114,6 +116,7 @@ @@ -115,8 +119,12 @@
int l = p_150110_1_.getBlockMetadata(p_150110_2_, p_150110_3_, p_150110_4_);
return l == 5 && p_150110_1_.getIndirectPowerOutput(p_150110_2_, p_150110_3_ - 1, p_150110_4_, 0) ? true : (l == 3 && p_150110_1_.getIndirectPowerOutput(p_150110_2_, p_150110_3_, p_150110_4_ - 1, 2) ? true : (l == 4 && p_150110_1_.getIndirectPowerOutput(p_150110_2_, p_150110_3_, p_150110_4_ + 1, 3) ? true : (l == 1 && p_150110_1_.getIndirectPowerOutput(p_150110_2_ - 1, p_150110_3_, p_150110_4_, 4) ? true : l == 2 && p_150110_1_.getIndirectPowerOutput(p_150110_2_ + 1, p_150110_3_, p_150110_4_, 5)))); return l == 5 && p_150110_1_.getIndirectPowerOutput(p_150110_2_, p_150110_3_ - 1, p_150110_4_, 0) ? true : (l == 3 && p_150110_1_.getIndirectPowerOutput(p_150110_2_, p_150110_3_, p_150110_4_ - 1, 2) ? true : (l == 4 && p_150110_1_.getIndirectPowerOutput(p_150110_2_, p_150110_3_, p_150110_4_ + 1, 3) ? true : (l == 1 && p_150110_1_.getIndirectPowerOutput(p_150110_2_ - 1, p_150110_3_, p_150110_4_, 4) ? true : l == 2 && p_150110_1_.getIndirectPowerOutput(p_150110_2_ + 1, p_150110_3_, p_150110_4_, 5))));
} }
+long last = 0L;
+ private long last = 0L;
+
public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_)
{ {
@@ -125,11 +128,33 @@ + if (System.currentTimeMillis() - last <= CauldronConfig.instance.redstoneTorchL.getValue()) { return; }
+ last = System.currentTimeMillis();
boolean flag = this.func_150110_m(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_);
List list = (List)field_150112_b.get(p_149674_1_);
@@ -125,10 +133,30 @@
list.remove(0); list.remove(0);
} }
@ -45,13 +52,10 @@
+ } + }
+ +
+ // CraftBukkit end + // CraftBukkit end
+ if(System.currentTimeMillis() - last <= 150) return;
p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, Blocks.unlit_redstone_torch, p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_), 3); p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, Blocks.unlit_redstone_torch, p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_), 3);
+ last = System.currentTimeMillis();
if (this.func_150111_a(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, true)) if (this.func_150111_a(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, true))
{ @@ -147,6 +175,19 @@
@@ -147,7 +172,22 @@
} }
else if (!flag && !this.func_150111_a(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, false)) else if (!flag && !this.func_150111_a(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, false))
{ {
@ -68,13 +72,10 @@
+ } + }
+ +
+ // CraftBukkit end + // CraftBukkit end
+ if(System.currentTimeMillis() - last <= 150) return;
p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, Blocks.redstone_torch, p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_), 3); p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, Blocks.redstone_torch, p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_), 3);
+ last = System.currentTimeMillis();
} }
} }
@@ -241,4 +282,4 @@
@@ -241,4 +281,4 @@
this.field_150844_d = p_i45422_4_; this.field_150844_d = p_i45422_4_;
} }
} }

11
src/main/java/net/minecraftforge/cauldron/configuration/CauldronConfig.java

@ -14,7 +14,7 @@ public class CauldronConfig extends ConfigBase
+ "\n" + "\n"
+ "IRC: #cauldron @ irc.esper.net ( http://webchat.esper.net/?channel=cauldron )\n" + "IRC: #cauldron @ irc.esper.net ( http://webchat.esper.net/?channel=cauldron )\n"
+ "Forums: http://cauldron.minecraftforge.net/\n"; + "Forums: http://cauldron.minecraftforge.net/\n";
public static CauldronConfig instance;
/* ======================================================================== */ /* ======================================================================== */
// Logging options // Logging options
@ -57,6 +57,10 @@ public class CauldronConfig extends ConfigBase
public final BoolSetting fakePlayerLogin = new BoolSetting(this, "fake-players.do-login", false, "Raise login events for fake players"); public final BoolSetting fakePlayerLogin = new BoolSetting(this, "fake-players.do-login", false, "Raise login events for fake players");
public final IntSetting maxPlayersVisible = new IntSetting(this, "world-settings.max-players-visible", -1, "How many players will visible in the tab list"); public final IntSetting maxPlayersVisible = new IntSetting(this, "world-settings.max-players-visible", -1, "How many players will visible in the tab list");
// Optimization options
public final IntSetting repeaterL = new IntSetting(this, "optimized.redstone-repeater-update-speed", -1, "How many ticks the server can skip for repeater updates");
public final IntSetting redstoneTorchL = new IntSetting(this, "optimized.redstone-redstoneTorch-update-speed", -1, "How many ticks the server can skip for redstoneTorch updates");
// Plug-in options // Plug-in options
public final BoolSetting remapPluginFile = new BoolSetting(this, "plugin-settings.default.remap-plugin-file", false, "Remap the plugin file (dev)"); public final BoolSetting remapPluginFile = new BoolSetting(this, "plugin-settings.default.remap-plugin-file", false, "Remap the plugin file (dev)");
@ -66,6 +70,7 @@ public class CauldronConfig extends ConfigBase
{ {
super(fileName, commandName); super(fileName, commandName);
init(); init();
instance = this;
} }
public void init() public void init()
@ -101,7 +106,9 @@ public class CauldronConfig extends ConfigBase
settings.put(userLogin.path, userLogin); settings.put(userLogin.path, userLogin);
settings.put(allowTntPunishment.path, allowTntPunishment); settings.put(allowTntPunishment.path, allowTntPunishment);
settings.put(maxPlayersVisible.path, maxPlayersVisible); settings.put(maxPlayersVisible.path, maxPlayersVisible);
settings.put(chunkGCGracePeriod.path,chunkGCGracePeriod); settings.put(chunkGCGracePeriod.path, chunkGCGracePeriod);
settings.put(repeaterL.path, repeaterL);
settings.put(redstoneTorchL.path, redstoneTorchL);
load(); load();
} }

Loading…
Cancel
Save