From 0ab784b7c75b7907699ddb61b7f4bc1f860bcc6f Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 27 Apr 2024 23:27:05 +0200 Subject: [PATCH] more ICF crap --- src/main/java/com/hbm/blocks/ModBlocks.java | 4 + .../java/com/hbm/blocks/machine/BlockICF.java | 72 ++++++++++++++++++ .../machine/BlockICFLaserComponent.java | 14 ++-- .../blocks/machine/MachineICFController.java | 53 +++++++++++++ .../java/com/hbm/tileentity/TileMappings.java | 2 + .../hbm/textures/blocks/icf_block_port.png | Bin 0 -> 351 bytes .../hbm/textures/blocks/icf_block_port_ct.png | Bin 0 -> 1071 bytes .../assets/hbm/textures/blocks/icf_port.png | Bin 0 -> 715 bytes 8 files changed, 139 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/BlockICF.java create mode 100644 src/main/java/com/hbm/blocks/machine/MachineICFController.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/icf_block_port.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/icf_block_port_ct.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/icf_port.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index f8d1e7bde..29740b894 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2010,7 +2010,9 @@ public class ModBlocks { plasma_heater = new MachinePlasmaHeater().setBlockName("plasma_heater").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma_heater"); icf = new MachineICF().setBlockName("icf").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + icf_controller = new MachineICFController().setBlockName("icf_controller").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":icf_casing"); icf_laser_component = new BlockICFLaserComponent().setBlockName("icf_laser_component").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab); + icf_block = new BlockICF(Material.iron).setBlockName("icf_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":icf_block"); watz_element = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_element_top").setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element_side"); watz_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side"); @@ -3342,6 +3344,8 @@ public class ModBlocks { GameRegistry.registerBlock(plasma_heater, plasma_heater.getUnlocalizedName()); register(icf_laser_component); + register(icf_controller); + register(icf_block); register(icf); GameRegistry.registerBlock(watz_element, watz_element.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/BlockICF.java b/src/main/java/com/hbm/blocks/machine/BlockICF.java new file mode 100644 index 000000000..07bb53a6a --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockICF.java @@ -0,0 +1,72 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.render.block.ct.CT; +import com.hbm.render.block.ct.CTStitchReceiver; +import com.hbm.render.block.ct.IBlockCT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockICF extends BlockContainer implements IBlockCT { + + @SideOnly(Side.CLIENT) protected IIcon iconPort; + + public BlockICF(Material mat) { + super(mat); + } + + @Override + public int getRenderType() { + return CT.renderID; + } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + return null; + } + + @SideOnly(Side.CLIENT) public CTStitchReceiver rec; + @SideOnly(Side.CLIENT) public CTStitchReceiver recPort; + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + this.iconPort = reg.registerIcon(RefStrings.MODID + ":icf_casing_port"); + this.rec = IBlockCT.primeReceiver(reg, this.blockIcon.getIconName(), this.blockIcon); + this.recPort = IBlockCT.primeReceiver(reg, this.iconPort.getIconName(), this.iconPort); + } + + @Override + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + if(meta == 1) return recPort.fragCache; + return rec.fragCache; + } + + @Override + public boolean canConnect(IBlockAccess world, int x, int y, int z, Block block) { + return block == ModBlocks.icf_block || block == ModBlocks.icf_controller; + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityBlockICF(); + } + + public static class TileEntityBlockICF extends TileEntity { + + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java b/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java index 6d37458fe..5685fee9a 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java +++ b/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java @@ -26,11 +26,12 @@ public class BlockICFLaserComponent extends BlockEnumMulti { this.iconsTop = new IIcon[enums.length]; this.icons[0] = this.iconsTop[0] = reg.registerIcon(RefStrings.MODID + ":icf_casing"); - this.icons[1] = this.iconsTop[1] = reg.registerIcon(RefStrings.MODID + ":icf_cell"); - this.icons[2] = this.iconsTop[2] = reg.registerIcon(RefStrings.MODID + ":icf_emitter"); - this.icons[3] = reg.registerIcon(RefStrings.MODID + ":icf_capacitor_side"); - this.icons[4] = reg.registerIcon(RefStrings.MODID + ":icf_turbocharger"); - this.iconsTop[3] = this.iconsTop[4] = reg.registerIcon(RefStrings.MODID + ":icf_capacitor_top"); + this.icons[1] = this.iconsTop[1] = reg.registerIcon(RefStrings.MODID + ":icf_port"); + this.icons[2] = this.iconsTop[2] = reg.registerIcon(RefStrings.MODID + ":icf_cell"); + this.icons[3] = this.iconsTop[3] = reg.registerIcon(RefStrings.MODID + ":icf_emitter"); + this.icons[4] = reg.registerIcon(RefStrings.MODID + ":icf_capacitor_side"); + this.icons[5] = reg.registerIcon(RefStrings.MODID + ":icf_turbocharger"); + this.iconsTop[4] = this.iconsTop[5] = reg.registerIcon(RefStrings.MODID + ":icf_capacitor_top"); } @Override @@ -41,11 +42,12 @@ public class BlockICFLaserComponent extends BlockEnumMulti { @Override public int getSubCount() { - return 5; + return EnumICFPart.values().length; } public static enum EnumICFPart { CASING, + PORT, CELL, EMITTER, CAPACITOR, diff --git a/src/main/java/com/hbm/blocks/machine/MachineICFController.java b/src/main/java/com/hbm/blocks/machine/MachineICFController.java new file mode 100644 index 000000000..ba1487f40 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineICFController.java @@ -0,0 +1,53 @@ +package com.hbm.blocks.machine; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineICFController extends BlockContainer { + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public MachineICFController() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":icf_controller"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index a0cfd2009..6722092e2 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -15,6 +15,7 @@ import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter; +import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF; import com.hbm.blocks.machine.BlockPWR.TileEntityBlockPWR; import com.hbm.blocks.machine.MachineCapacitor.TileEntityCapacitor; import com.hbm.blocks.machine.MachineFan.TileEntityFan; @@ -160,6 +161,7 @@ public class TileMappings { put(TileEntityMicrowave.class, "tileentity_microwave"); put(TileEntityMachineMiniRTG.class, "tileentity_mini_rtg"); put(TileEntityITER.class, "tileentity_iter"); + put(TileEntityBlockICF.class, "tileentity_block_icf"); put(TileEntityICF.class, "tileentity_icf"); put(TileEntityMachinePlasmaHeater.class, "tileentity_plasma_heater"); put(TileEntityMachineFENSU.class, "tileentity_fensu"); diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_block_port.png b/src/main/resources/assets/hbm/textures/blocks/icf_block_port.png new file mode 100644 index 0000000000000000000000000000000000000000..c7595645a487a9499ef12445b16ed505ed60f572 GIT binary patch literal 351 zcmV-l0igbgP)CCk@H~!WkGXSn>cJ^9DRowr+i~j<6tA3Y#Sa zNDwbTn*Nb66qTlt8kBglKi_-4d#`L~GMUs2SP~%5^IpkWmhAvTAoB3=Uq~Fs`&fB= zc{{#A2*GNzB?v|ofPs2zuGRkIvL4Wkyo_dUYvF#yIG2;oX=0A3&OPqzSo;{q_9 zPO;Vkpp+s_Q;NkBIqCqcHe23}!CKoW)fj^-+kWn`P*ts%2E4Nc&-c+VH~~nKgbG+6 xXkl>qw{Q6$0HP@B^_&NNCIC5`&3Y#T`~WZ1W;W&PSP1|C002ovPDHLkV1fYqj3od7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_block_port_ct.png b/src/main/resources/assets/hbm/textures/blocks/icf_block_port_ct.png new file mode 100644 index 0000000000000000000000000000000000000000..c877a699c03afbbe5c8a4307c34bbe8d64ffeb42 GIT binary patch literal 1071 zcmV+~1kn45P)+XyvWE2k}5sKuXhy;m6kk}FB33v=%V#EXF z9eAEBVS|J;>?|P&O6<(dcK5lnXpb4YEjy@(k}P{sU!A|J%XNP7(~m#o7$Vkr5R$X2 z1yU)>(qM{;n8626Oqm!HJ|?USBtR;~-OryfnM_un@17j(R8@)A1|cO`2y)6eA3#WaO1Ka@ z1^4kC0kw4u4hLK=8kEu$g<4@f`uy1$;;x z4hC57S4CgHe$8|`1zoEak-e@tEm! z%49NGC632qq}KQlmvbPATUu&;*vW5(6jG9Mrgk2L*gDxai#IMHl|mN=ZA>R;AHNxT zVI2$W$OyF7m_jldjTjDxtEAy@$Y?a;x9Ojl!YqeR;zRc|QxrS-jsS$c)aph%JjHA$Ib2j@I*K47nYs3_>Y#&da3%bz{+{Amxk;5p4=) zi<*QaBk)^Z_&$C!r1gQgOo%BXWZUM9Kx$2hkt_sdSpfo}G_|$N>Y7Zq1N-=nfU+v_ zvE6V=DPnG?bW=a*RLDaw)z_?Wg{E`Ps!zmq?H@MvAYy~kg5iu8$xWkxE!#SbWAT%UoLFJGc> zZmZjfkM#q`$H%Q9xorU-;|Fe@dFukCQdCNjfsiv7vjtUIt^B~7H*ePR_4h9xb1*nq z`GHyEP)e=t^Lgzs#*l>|-0%bQ#xnhI#@CPTb@?5B;MI$#YkY4%(3kJ+2m128{XlQN zuOH~k_x1yQ`Tl;OC*Ru-^yRhr>>2axUfqENxEt?nP~HFc_r~}ALxrrJ>}ImU*bYUNQKnxm3{388rweF|GJ8={XohAQxvTq2&v-- puFt&{0neX5Ulsf>eqb`0@DC)T5~x+FQUw42002ovPDHLkV1kBD@_PUP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_port.png b/src/main/resources/assets/hbm/textures/blocks/icf_port.png new file mode 100644 index 0000000000000000000000000000000000000000..c9637ddb09acb00b47cec8683245dfd6876f1b05 GIT binary patch literal 715 zcmV;+0yO=JP)m6otRO-817@hEN$%j>jrlBrJiounIPy6}Z?Nyii3| z2*gOSk{Du@e`0xNx^Lg+LHs;%p3gaT>U{3|@4hWrjZqbF-0cQLgr=_WRgD3vO145a zBj>`H6a&P2f+pk3FFqrgQB^g^+2~_L#1pE9sOjJEn2a$cj+~GST;JXiVpc{~p0!g_ z&ZIsP4g%f>#-!9w4jGdY#8VY`QVO}i&CM-VKtw#^1AR=qdb38n=b&l${c?j3p1X%f zF4pg`0=X0})*GC7ayG0K#BdBr5fNT4<_t+0lk)ud81FqHRJ{D^3`8hSI6du1nn`9v z&4eK)o*o@?|2W`%psp(>FTMd_wOYXho-Y;veE8)@3XU-T+wwMDH{MmyvK(?HsfqQV@%4&)r#$Q%k}j&|7f*Z zAtBIp9mNUG3E2wb#9^h-#{|w{#{X(e$`EzWzpn71Li#b$$35$d^@gghSu7T`ZOe2z zWjdYGwk?ar0xNL!#}!c(Gtis~&N&|X$kFFQcXGm~$DXIaa=F}}2rT|SQM~8)q(da2 zRw&uv)K$Mo~W7m{0s>J&6#dCqiGHR z$LaixejM2i0|iH@>zb4c{ml(^-C#Jzl&}I-RbfCsMpTtyOsE+lREYP)sD!AQ?cF_^ xjp6qGKfd0B2o50w@%9rjDpk{9K+YMQ<1e6!fMrK6R15$B002ovPDHLkV1h;tNJanv literal 0 HcmV?d00001