mirror of
https://github.com/GTNewHorizons/Botania.git
synced 2026-11-13 16:54:06 +00:00
Red String dispenser.
This commit is contained in:
1 parent
c3a3b93da1
commit
7df0c1c57f
6 files changed
+89
No files matched your search
@@ -39,6 +39,7 @@ public class ClientTickHandler {
|
||||
public void clientTickEnd(ClientTickEvent event) {
|
||||
if(event.phase == Phase.END) {
|
||||
LightningBolt.update();
|
||||
RedStringRenderer.tick();
|
||||
|
||||
if(Minecraft.getMinecraft().theWorld == null)
|
||||
ManaNetworkHandler.instance.clear();
|
||||
|
||||
@@ -71,6 +71,7 @@ import vazkii.botania.common.block.decor.stairs.prismarine.BlockPrismarineStairs
|
||||
import vazkii.botania.common.block.dispenser.BehaviourSeeds;
|
||||
import vazkii.botania.common.block.dispenser.BehaviourWand;
|
||||
import vazkii.botania.common.block.string.BlockRedStringContainer;
|
||||
import vazkii.botania.common.block.string.BlockRedStringDispenser;
|
||||
import vazkii.botania.common.block.subtile.SubTileManastar;
|
||||
import vazkii.botania.common.block.subtile.SubTilePureDaisy;
|
||||
import vazkii.botania.common.block.subtile.functional.SubTileAgricarnation;
|
||||
@@ -130,6 +131,7 @@ import vazkii.botania.common.block.tile.mana.TileRFGenerator;
|
||||
import vazkii.botania.common.block.tile.mana.TileSpreader;
|
||||
import vazkii.botania.common.block.tile.mana.TileTurntable;
|
||||
import vazkii.botania.common.block.tile.string.TileRedStringContainer;
|
||||
import vazkii.botania.common.block.tile.string.TileRedStringDispenser;
|
||||
import vazkii.botania.common.core.handler.ConfigHandler;
|
||||
import vazkii.botania.common.item.ModItems;
|
||||
import vazkii.botania.common.lib.LibBlockNames;
|
||||
@@ -185,6 +187,7 @@ public final class ModBlocks {
|
||||
public static Block manaGlass;
|
||||
public static Block terraPlate;
|
||||
public static Block redStringContainer;
|
||||
public static Block redStringDispenser;
|
||||
|
||||
public static Block livingwoodStairs;
|
||||
public static Block livingwoodSlab;
|
||||
@@ -308,6 +311,7 @@ public final class ModBlocks {
|
||||
manaGlass = new BlockManaGlass();
|
||||
terraPlate = new BlockTerraPlate();
|
||||
redStringContainer = new BlockRedStringContainer();
|
||||
redStringDispenser = new BlockRedStringDispenser();
|
||||
|
||||
livingwoodStairs = new BlockLivingwoodStairs();
|
||||
livingwoodSlab = new BlockLivingwoodSlab(false);
|
||||
@@ -489,6 +493,7 @@ public final class ModBlocks {
|
||||
registerTile(TileBrewery.class, LibBlockNames.BREWERY);
|
||||
registerTile(TileTerraPlate.class, LibBlockNames.TERRA_PLATE);
|
||||
registerTile(TileRedStringContainer.class, LibBlockNames.RED_STRING_CONTAINER);
|
||||
registerTile(TileRedStringDispenser.class, LibBlockNames.RED_STRING_DISPENSER);
|
||||
|
||||
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_PUREDAISY, SubTilePureDaisy.class);
|
||||
BotaniaAPI.registerSubTile(LibBlockNames.SUBTILE_MANASTAR, SubTileManastar.class);
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* This class was created by <Vazkii>. It's distributed as
|
||||
* part of the Botania Mod. Get the Source Code in github:
|
||||
* https://github.com/Vazkii/Botania
|
||||
*
|
||||
* Botania is Open Source and distributed under a
|
||||
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
|
||||
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
|
||||
*
|
||||
* File Created @ [Nov 14, 2014, 10:59:20 PM (GMT)]
|
||||
*/
|
||||
package vazkii.botania.common.block.string;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.world.World;
|
||||
import vazkii.botania.common.block.tile.string.TileRedString;
|
||||
import vazkii.botania.common.block.tile.string.TileRedStringContainer;
|
||||
import vazkii.botania.common.block.tile.string.TileRedStringDispenser;
|
||||
import vazkii.botania.common.lib.LibBlockNames;
|
||||
|
||||
public class BlockRedStringDispenser extends BlockRedString {
|
||||
|
||||
public BlockRedStringDispenser() {
|
||||
super(LibBlockNames.RED_STRING_DISPENSER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNeighborBlockChange(World world, int x, int y, int z, Block block) {
|
||||
boolean power = world.isBlockIndirectlyGettingPowered(x, y, z) || world.isBlockIndirectlyGettingPowered(x, y + 1, z);
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
boolean powered = (meta & 8) != 0;
|
||||
|
||||
if(power && !powered) {
|
||||
((TileRedStringDispenser) world.getTileEntity(x, y, z)).tickDispenser();
|
||||
world.setBlockMetadataWithNotify(x, y, z, meta | 8, 4);
|
||||
} else if(!power && powered)
|
||||
world.setBlockMetadataWithNotify(x, y, z, meta & -9, 4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileRedString createNewTileEntity(World world, int meta) {
|
||||
return new TileRedStringDispenser();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* This class was created by <Vazkii>. It's distributed as
|
||||
* part of the Botania Mod. Get the Source Code in github:
|
||||
* https://github.com/Vazkii/Botania
|
||||
*
|
||||
* Botania is Open Source and distributed under a
|
||||
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
|
||||
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
|
||||
*
|
||||
* File Created @ [Nov 14, 2014, 11:00:16 PM (GMT)]
|
||||
*/
|
||||
package vazkii.botania.common.block.tile.string;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.tileentity.TileEntityDispenser;
|
||||
import net.minecraft.util.ChunkCoordinates;
|
||||
|
||||
public class TileRedStringDispenser extends TileRedStringContainer {
|
||||
|
||||
@Override
|
||||
public boolean acceptBlock(int x, int y, int z) {
|
||||
TileEntity tile = worldObj.getTileEntity(x, y, z);
|
||||
return tile != null && tile instanceof TileEntityDispenser;
|
||||
}
|
||||
|
||||
public void tickDispenser() {
|
||||
ChunkCoordinates bind = getBinding();
|
||||
if(bind != null) {
|
||||
TileEntity tile = worldObj.getTileEntity(bind.posX, bind.posY, bind.posZ);
|
||||
if(tile instanceof TileEntityDispenser)
|
||||
worldObj.scheduleBlockUpdate(bind.posX, bind.posY, bind.posZ, tile.getBlockType(), tile.getBlockType().tickRate(worldObj));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -112,6 +112,7 @@ public final class BotaniaCreativeTab extends CreativeTabs {
|
||||
addBlock(ModBlocks.pistonRelay);
|
||||
|
||||
addBlock(ModBlocks.redStringContainer);
|
||||
addBlock(ModBlocks.redStringDispenser);
|
||||
|
||||
addBlock(ModBlocks.shinyFlower);
|
||||
addBlock(ModBlocks.miniIsland);
|
||||
|
||||
@@ -62,6 +62,7 @@ public final class LibBlockNames {
|
||||
public static final String MANA_GLASS = "manaGlass";
|
||||
public static final String TERRA_PLATE = "terraPlate";
|
||||
public static final String RED_STRING_CONTAINER = "redStringContainer";
|
||||
public static final String RED_STRING_DISPENSER = "redStringDispenser";
|
||||
|
||||
public static final String SUBTILE_PUREDAISY = "puredaisy";
|
||||
public static final String SUBTILE_MANASTAR = "manastar";
|
||||
|
||||
Reference in new issue
Block a user