added support for trip wire hook, part of #1580
This commit is contained in:
parent
e3edd9eda8
commit
6186504d14
2 changed files with 55 additions and 0 deletions
common/buildcraft
|
@ -90,6 +90,7 @@ import buildcraft.builders.schematics.SchematicSeeds;
|
|||
import buildcraft.builders.schematics.SchematicSign;
|
||||
import buildcraft.builders.schematics.SchematicStairs;
|
||||
import buildcraft.builders.schematics.SchematicStone;
|
||||
import buildcraft.builders.schematics.SchematicTripWireHook;
|
||||
import buildcraft.builders.schematics.SchematicWallSide;
|
||||
import buildcraft.builders.triggers.ActionFiller;
|
||||
import buildcraft.builders.triggers.BuildersActionProvider;
|
||||
|
@ -181,6 +182,8 @@ public class BuildCraftBuilders extends BuildCraftMod {
|
|||
SchematicRegistry.registerSchematicBlock(Blocks.redstone_torch, SchematicWallSide.class);
|
||||
SchematicRegistry.registerSchematicBlock(Blocks.unlit_redstone_torch, SchematicWallSide.class);
|
||||
|
||||
SchematicRegistry.registerSchematicBlock(Blocks.tripwire_hook, SchematicTripWireHook.class);
|
||||
|
||||
SchematicRegistry.registerSchematicBlock(Blocks.ladder, SchematicRotateMeta.class, new int[]{2, 5, 3, 4}, true);
|
||||
SchematicRegistry.registerSchematicBlock(Blocks.fence_gate, SchematicRotateMeta.class, new int[]{0, 1, 2, 3}, true);
|
||||
SchematicRegistry.registerSchematicBlock(Blocks.log, SchematicRotateMeta.class, new int[]{8, 4, 8, 4}, true);
|
||||
|
|
52
common/buildcraft/builders/schematics/SchematicTripWireHook.java
Executable file
52
common/buildcraft/builders/schematics/SchematicTripWireHook.java
Executable file
|
@ -0,0 +1,52 @@
|
|||
/**
|
||||
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
|
||||
* http://www.mod-buildcraft.com
|
||||
*
|
||||
* BuildCraft is distributed under the terms of the Minecraft Mod Public
|
||||
* License 1.0, or MMPL. Please check the contents of the license located in
|
||||
* http://www.mod-buildcraft.com/MMPL-1.0.txt
|
||||
*/
|
||||
package buildcraft.builders.schematics;
|
||||
|
||||
import java.util.LinkedList;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import buildcraft.api.blueprints.IBuilderContext;
|
||||
import buildcraft.api.blueprints.SchematicBlock;
|
||||
|
||||
public class SchematicTripWireHook extends SchematicBlock {
|
||||
|
||||
@Override
|
||||
public void rotateLeft(IBuilderContext context) {
|
||||
int pos = meta & 3;
|
||||
int others = meta - pos;
|
||||
|
||||
switch (pos) {
|
||||
case 0:
|
||||
pos = 1;
|
||||
break;
|
||||
case 1:
|
||||
pos = 2;
|
||||
break;
|
||||
case 2:
|
||||
pos = 3;
|
||||
break;
|
||||
case 3:
|
||||
pos = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
meta = pos + others;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToWorld(IBuilderContext context, int x, int y, int z, LinkedList <ItemStack> stacks) {
|
||||
context.world().setBlock(x, y, z, block, meta, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAlreadyBuilt(IBuilderContext context, int x, int y, int z) {
|
||||
return block == context.world().getBlock(x, y, z);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue