diff options
author | Kiwi <42833050+Kiwi233@users.noreply.github.com> | 2021-08-02 20:46:25 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-02 20:46:25 +0800 |
commit | c29700ed64f5e5f44e7bc1e5f37ec6be40c47974 (patch) | |
tree | f3bf4af7a6072402323756b84e2afcf2da0e5188 /src/main/java/common/blocks/Block_LargeHexPlate.java | |
parent | 35dd2ba8e9861dc0df317777cc22a7f7b8c21e92 (diff) | |
parent | 2a78d724ac077912e0be3755390253be883f5950 (diff) | |
download | GT5-Unofficial-c29700ed64f5e5f44e7bc1e5f37ec6be40c47974.tar.gz GT5-Unofficial-c29700ed64f5e5f44e7bc1e5f37ec6be40c47974.tar.bz2 GT5-Unofficial-c29700ed64f5e5f44e7bc1e5f37ec6be40c47974.zip |
Merge pull request #2 from GTNewHorizons/master
kekztech-0.5.6
Diffstat (limited to 'src/main/java/common/blocks/Block_LargeHexPlate.java')
-rw-r--r-- | src/main/java/common/blocks/Block_LargeHexPlate.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/common/blocks/Block_LargeHexPlate.java b/src/main/java/common/blocks/Block_LargeHexPlate.java new file mode 100644 index 0000000000..8bdad56323 --- /dev/null +++ b/src/main/java/common/blocks/Block_LargeHexPlate.java @@ -0,0 +1,61 @@ +package common.blocks; + +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +public class Block_LargeHexPlate extends Block { + + private static final Block_LargeHexPlate INSTANCE = new Block_LargeHexPlate(); + private static final int BATCH_SIZE = 4; + + private final IIcon[][] parts = new IIcon[BATCH_SIZE][BATCH_SIZE]; + + private Block_LargeHexPlate() { + super(Material.rock); + } + + public static Block registerBlock() { + final String blockName = "kekztech_largehextile_block"; + INSTANCE.setBlockName(blockName); + INSTANCE.setCreativeTab(CreativeTabs.tabMisc); + INSTANCE.setHardness(6.0f); + INSTANCE.setResistance(10.0f); + GameRegistry.registerBlock(INSTANCE, blockName); + + return INSTANCE; + } + + @Override + public void registerBlockIcons(IIconRegister ir) { + for(int x = 0; x < BATCH_SIZE; x++) { + for(int z = 0; z < BATCH_SIZE; z++) { + parts[x][z] = ir.registerIcon("kekztech:LargeHexTile_" + x + "_" + z); + } + } + } + + @Override + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + final int xMod = x >= 0 ? Math.abs(x % BATCH_SIZE) : Math.abs((Math.abs(x) % BATCH_SIZE) - BATCH_SIZE) % BATCH_SIZE; + final int yMod = y >= 0 ? Math.abs(y % BATCH_SIZE) : Math.abs((Math.abs(y) % BATCH_SIZE) - BATCH_SIZE) % BATCH_SIZE; + final int zMod = z >= 0 ? Math.abs(z % BATCH_SIZE) : Math.abs((Math.abs(z) % BATCH_SIZE) - BATCH_SIZE) % BATCH_SIZE; + + if(side == 0 || side == 1) { + return parts[xMod][zMod]; + } else if(side == 2 || side == 3) { + return parts[xMod][yMod]; + } else { + return parts[zMod][yMod]; + } + } + + @Override + public IIcon getIcon(int side, int meta) { + return parts[(int) Math.ceil(BATCH_SIZE / 2)][(int) Math.ceil(BATCH_SIZE / 2)]; + } +} |