From 810038bb60d9b09b39776a3ed43d994ddb621b1d Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 3 May 2024 14:48:17 +0200 Subject: [PATCH] lasers, pew pew --- .../blocks/machine/MachineICFController.java | 18 ++++- .../hbm/tileentity/TileEntityTickingBase.java | 22 +++++- .../hbm/tileentity/machine/TileEntityICF.java | 18 +++++ .../machine/TileEntityICFController.java | 70 +++++++++++++++++- .../hbm/textures/gui/reactors/gui_icf.png | Bin 3813 -> 5304 bytes .../hbm/textures/items/bolt_compound.png | Bin 250 -> 0 bytes .../hbm/textures/items/bolt_dura_steel.png | Bin 228 -> 0 bytes .../hbm/textures/items/bolt_tungsten.png | Bin 188 -> 0 bytes .../assets/hbm/textures/items/icf_pellet.png | Bin 0 -> 430 bytes .../hbm/textures/items/icf_pellet_bg.png | Bin 0 -> 350 bytes .../hbm/textures/items/icf_pellet_empty.png | Bin 0 -> 481 bytes .../hbm/textures/items/icf_pellet_shape.png | Bin 0 -> 196 bytes .../hbm/textures/items/wafer_diamond.png | Bin 1657 -> 0 bytes .../assets/hbm/textures/items/wafer_gold.png | Bin 1643 -> 0 bytes .../assets/hbm/textures/items/wafer_lapis.png | Bin 1653 -> 0 bytes .../hbm/textures/items/wafer_silicon.png | Bin 1629 -> 0 bytes .../assets/hbm/textures/items/wafer_spark.png | Bin 1696 -> 0 bytes .../assets/hbm/textures/items/wand_alt.png | Bin 257 -> 0 bytes .../assets/hbm/textures/items/wand_d_alt.png | Bin 250 -> 0 bytes .../assets/hbm/textures/items/wand_s_alt.png | Bin 251 -> 0 bytes .../hbm/textures/items/zündschlüssel_0.png | Bin 146 -> 0 bytes .../hbm/textures/items/zündschlüssel_1.png | Bin 178 -> 0 bytes .../hbm/textures/items/zündschlüssel_2.png | Bin 194 -> 0 bytes .../hbm/textures/items/zündschlüssel_3.png | Bin 238 -> 0 bytes .../hbm/textures/items/zündschlüssel_4.png | Bin 270 -> 0 bytes 25 files changed, 120 insertions(+), 8 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/items/bolt_compound.png delete mode 100644 src/main/resources/assets/hbm/textures/items/bolt_dura_steel.png delete mode 100644 src/main/resources/assets/hbm/textures/items/bolt_tungsten.png create mode 100644 src/main/resources/assets/hbm/textures/items/icf_pellet.png create mode 100644 src/main/resources/assets/hbm/textures/items/icf_pellet_bg.png create mode 100644 src/main/resources/assets/hbm/textures/items/icf_pellet_empty.png create mode 100644 src/main/resources/assets/hbm/textures/items/icf_pellet_shape.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wafer_diamond.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wafer_gold.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wafer_lapis.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wafer_silicon.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wafer_spark.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wand_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wand_d_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/items/wand_s_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/items/zündschlüssel_0.png delete mode 100644 src/main/resources/assets/hbm/textures/items/zündschlüssel_1.png delete mode 100644 src/main/resources/assets/hbm/textures/items/zündschlüssel_2.png delete mode 100644 src/main/resources/assets/hbm/textures/items/zündschlüssel_3.png delete mode 100644 src/main/resources/assets/hbm/textures/items/zündschlüssel_4.png diff --git a/src/main/java/com/hbm/blocks/machine/MachineICFController.java b/src/main/java/com/hbm/blocks/machine/MachineICFController.java index ab5e4797d..321d8307d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineICFController.java +++ b/src/main/java/com/hbm/blocks/machine/MachineICFController.java @@ -1,9 +1,12 @@ package com.hbm.blocks.machine; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map.Entry; +import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF; import com.hbm.blocks.machine.BlockICFLaserComponent.EnumICFPart; @@ -11,6 +14,8 @@ import com.hbm.lib.RefStrings; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityICFController; +import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.relauncher.Side; @@ -28,9 +33,10 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class MachineICFController extends BlockContainer { +public class MachineICFController extends BlockContainer implements ILookOverlay { @SideOnly(Side.CLIENT) private IIcon iconFront; @@ -207,4 +213,14 @@ public class MachineICFController extends BlockContainer { PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(data, x, y, z), (EntityPlayerMP) player); } } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + if(!(te instanceof TileEntityICFController)) return; + TileEntityICFController icf = (TileEntityICFController) te; + List text = new ArrayList(); + text.add(BobMathUtil.getShortNumber(icf.getPower()) + "/" + BobMathUtil.getShortNumber(icf.getMaxPower()) + "HE"); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java index aa11fb99a..1d1871c2e 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java @@ -1,13 +1,15 @@ package com.hbm.tileentity; +import com.hbm.packet.BufPacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver { +public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver, IBufPacketReceiver { public TileEntityTickingBase() { } @@ -22,16 +24,28 @@ public abstract class TileEntityTickingBase extends TileEntityLoadedBase impleme //was it update? onUpdate? updateTile? did it have any args? //shit i don't know man @Override - public abstract void updateEntity(); + public abstract void updateEntity(); - public void networkPack(NBTTagCompound nbt, int range) { + @Deprecated public void networkPack(NBTTagCompound nbt, int range) { if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); } - public void networkUnpack(NBTTagCompound nbt) { } + @Deprecated public void networkUnpack(NBTTagCompound nbt) { } @Deprecated public void handleButtonPacket(int value, int meta) { } + + public void networkPackNT(int range) { + if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + } + + @Override public void serialize(ByteBuf buf) { + buf.writeBoolean(muffled); + } + + @Override public void deserialize(ByteBuf buf) { + this.muffled = buf.readBoolean(); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java index c4e34d4fe..1d481dbc2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java @@ -13,6 +13,7 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; @@ -43,6 +44,23 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider } } + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return slot < 5; + } + + @Override + public boolean canExtractItem(int slot, ItemStack stack, int side) { + return slot > 5; + } + + public static final int[] io = new int[] {0, 1, 2, 3, 4, 6, 7, 8, 9, 10}; + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return io; + } + @Override public boolean isUseableByPlayer(EntityPlayer player) { if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICFController.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICFController.java index 9c43e6970..3db737fc1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityICFController.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICFController.java @@ -8,6 +8,8 @@ import com.hbm.tileentity.TileEntityTickingBase; import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.energymk2.IEnergyReceiverMK2; +import io.netty.buffer.ByteBuf; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityICFController extends TileEntityTickingBase implements IEnergyReceiverMK2 { @@ -51,13 +53,13 @@ public class TileEntityICFController extends TileEntityTickingBase implements IE for(BlockPos capacitor : capacitors) { for(ForgeDirection offset : ForgeDirection.VALID_DIRECTIONS) { pos.mutate(capacitor.getX() + offset.offsetX, capacitor.getY() + offset.offsetY, capacitor.getZ() + offset.offsetZ); - if(emitters.contains(pos)) { this.emitterCount++; break; } + if(emitters.contains(pos)) { this.capacitorCount++; break; } } } for(BlockPos turbo : turbochargers) { for(ForgeDirection offset : ForgeDirection.VALID_DIRECTIONS) { pos.mutate(turbo.getX() + offset.offsetX, turbo.getY() + offset.offsetY, turbo.getZ() + offset.offsetZ); - if(capacitors.contains(pos)) { this.emitterCount++; break; } + if(capacitors.contains(pos)) { this.turbochargerCount++; break; } } } @@ -72,11 +74,73 @@ public class TileEntityICFController extends TileEntityTickingBase implements IE @Override public void updateEntity() { + if(!worldObj.isRemote) { + + if(this.assembled) { + for(BlockPos pos : ports) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + BlockPos portPos = pos.offset(dir); + if(this.getMaxPower() > 0) this.trySubscribe(worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir); + } + } + } + + this.networkPackNT(50); + } + } + + @Override public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + buf.writeInt(capacitorCount); + buf.writeInt(turbochargerCount); + } + + @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.capacitorCount = buf.readInt(); + this.turbochargerCount = buf.readInt(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.assembled = nbt.getBoolean("assembled"); + this.cellCount = nbt.getInteger("cellCount"); + this.emitterCount = nbt.getInteger("emitterCount"); + this.capacitorCount = nbt.getInteger("capacitorCount"); + this.turbochargerCount = nbt.getInteger("turbochargerCount"); + + ports.clear(); + int portCount = nbt.getInteger("portCount"); + for(int i = 0; i < portCount; i++) { + int[] port = nbt.getIntArray("p" + i); + ports.add(new BlockPos(port[0], port[1], port[2])); + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setBoolean("assembled", assembled); + nbt.setInteger("cellCount", cellCount); + nbt.setInteger("emitterCount", emitterCount); + nbt.setInteger("capacitorCount", capacitorCount); + nbt.setInteger("turbochargerCount", turbochargerCount); + + nbt.setInteger("portCount", ports.size()); + for(int i = 0; i < ports.size(); i++) { + BlockPos pos = ports.get(i); + nbt.setIntArray("p" + i, new int[] { pos.getX(), pos.getY(), pos.getZ() }); + } } @Override public long getPower() { - return power; + return Math.min(power, this.getMaxPower()); } @Override diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_icf.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_icf.png index f78c497db8d7341bf1e7f6d938882072fc1951a8..1020325235eef332d5bab024b4bf12499af75c3c 100644 GIT binary patch literal 5304 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 Zu#Kl>acUPA$Qrn2-PEP^N{L0F{-EKQag6iEby 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 diff --git a/src/main/resources/assets/hbm/textures/items/bolt_compound.png b/src/main/resources/assets/hbm/textures/items/bolt_compound.png deleted file mode 100644 index faa421927456f2df7229d4a9923fb82121aa69e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf}ozqS9u_kypAG9>{j0)lJ)@Lg)^TFJ?GujF*C z%>ViW>qD;aikBW!y4r&m*ako3733HI!k^y#38z(a>5_F*EdI&CaT3pM9Jk v_W#gs;Gg8uh9nawD>gTe~DWM4fxKUh< diff --git a/src/main/resources/assets/hbm/textures/items/bolt_dura_steel.png b/src/main/resources/assets/hbm/textures/items/bolt_dura_steel.png deleted file mode 100644 index de6eb68e604afc807eeba2e927a7cd39f632d1d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfOlEUw<+i5syyNfN?#;+I=yYa+LLRa zyiyn(?i#n`GJehT5(`)TK zwhoO>4uz!V84WV4wT?&}td5`X)Y&#!uu;J2<+1}>^O&an5Z!RhIYIqh!`&T>evjU< jb<8Mx^zfDcr~bQ}R4141U=w5lTF>C=>gTe~DWM4f38_P! diff --git a/src/main/resources/assets/hbm/textures/items/icf_pellet.png b/src/main/resources/assets/hbm/textures/items/icf_pellet.png new file mode 100644 index 0000000000000000000000000000000000000000..eeccd743751e42ac252e522931a9a4c489717067 GIT binary patch literal 430 zcmV;f0a5;mP)At56ot<#T|$0Ahfe7rbr8%@=n$lPOJkC`J=5df$HzJMUf{1K@*119&r(W! z;u8D)9^>&S^Y7_#VX=7Q-EIfdG+`J9hJ(HU0MBc2uU$i-R2R8`$z;yW=BHkg!TbOhh0eY}P*8*RDtaq?9lW1CHZ>h*HDyUpE2(EX(5GE=~@Q_YaNk zU?vXs^F&0*1XQb40Dw{oTI*bZ);cwZA9-Gj0bn-mvfHrvxbHS>o=v-ndSVN`b`9mC z;H(&K!{%fADL|oA7l$=|L)fw`XsuDHR1n88?jN3VuQ#E7$7AQ}jF;gvzsw&~asH3K Y0J~kl?j;;2lK=n!07*qoM6N<$f_WOgGXMYp literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/icf_pellet_bg.png b/src/main/resources/assets/hbm/textures/items/icf_pellet_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..735ce8e55aaf49aa452687c436233601e8bfaed8 GIT binary patch literal 350 zcmV-k0iphhP)A5QK*XDOOxh8gLmtL@Cf`x8N>(P6G~L@6S7dlGuLN ztTYk=_G1_TeqHWtVV-AWX5^faQo`+aJKVdQd_JE>L{L@aoRM=zj1jNb3o%A?UH8#L z-_1?a;Cj8HX&PKE7laVty@&T6M1*l1?G!*n2qBhzLaF1Goc}W)Z1?0$tY?%v>cRdq7GFs#?QRRfq`I zb*+#B+P3ZZ8K-G7?>(GzFf)hE7SgAG6*2JxHf|zW@LL07*qoM6N<$g4`63!vFvP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/icf_pellet_empty.png b/src/main/resources/assets/hbm/textures/items/icf_pellet_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..904314bbcae2ae6184768a5e829e0de4c8049c1a GIT binary patch literal 481 zcmV<70UrK|P)FsBeN-2K+__(CM zWB`zz99yk5#?3lgO*{xE;zH zcJ0}*YkITTPn}PXIG*j^v{my#0jF%r!pBSa96qPNepvqFtwMJZw_-;r_j2_V{n*6Q s99C0yzrL{|;>3;T;q#KB3cep>?fD|hFSnZO9?%&Kp00i_>zopr0LgYsp#T5? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/wafer_diamond.png b/src/main/resources/assets/hbm/textures/items/wafer_diamond.png deleted file mode 100644 index 10db83af14808c5b1b07c130b3c88a749c9cad6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1657 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 diff --git a/src/main/resources/assets/hbm/textures/items/wafer_lapis.png b/src/main/resources/assets/hbm/textures/items/wafer_lapis.png deleted file mode 100644 index 3d6760a26205f0f5dc10271f1b8ace611c100995..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1653 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 diff --git a/src/main/resources/assets/hbm/textures/items/wand_d_alt.png b/src/main/resources/assets/hbm/textures/items/wand_d_alt.png deleted file mode 100644 index 3524021bea820a8aca06a9e660693d3183f18a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK1jNi|YVTQMsp! zV~B4aSU%sc>ecFwvoW%|8il?_ZD=mumIc!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPIMM=Lb|%>FMGa zV&T8E=b&JN0SC)UCD$c^vo~;MZ{%FXJ1ZMVK&Z4OS!<35XR>FU}B@>9-|e$ rE^JF(QUkm~*!+bjIGWFCf5{@ab#CDi>)juLj$rU~^>bP0l+XkKTVYY; diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_0.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_0.png deleted file mode 100644 index d0940180ce03ef16feff1213895cbb93324470ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfI$IEGmC zCMPTqFmQVLKjMf7)BnN^Cyf$jNPUv;wg_wsc%qckvRmV2V==6sq=8~;*duRSBDPP6Hu~xfeQkKb{)OMT7)AzpQhUjnpdo!+- Z$s;rJ{L;OB%s@*SJYD@<);T3K0RUq=K{WsX diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_2.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_2.png deleted file mode 100644 index 0927803ea038d1d41d7eb6545faa0c2665b7464d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf{R%BrwbMZ4iKQ$iZ+gz1dd z6L#N8GBOU^_L<`c(@QaC4~h4evOO%P&s1;fxi#h4-4>J2MHY?|m%MCzCCkI}*23L! pV%I|LdeH}Jb-xRDo!S4Ag>R8{_s#O^w?IcQc)I$ztaD0e0suTQMW_G( diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_3.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_3.png deleted file mode 100644 index 1076a75d6c366ffcc70cec3d7c923db56b24c2cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf%$lVt}a_OLo!XQ zk5TDTQqKx422EA-C(HuLORjazyeKPc`C?I&_T5hNb6*l#57?bM|5RAzIgf+pQFH0g zT%}9vBJX&++}WHcTJ8|PUa)P}u1=1nQw+MwC&sOf|Gll)U>65}I>SNZtAa+IwtUz6 jCg0$WP;{T48y#=a6{bFA$