From 02f89cc0c84f48e3894d75f3aa84268064a6b02c Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Tue, 2 May 2023 21:55:31 -0500 Subject: [PATCH 1/5] my own bobble :D --- .../java/com/hbm/blocks/generic/BlockBobble.java | 10 +++++----- .../com/hbm/render/tileentity/RenderBobble.java | 10 ++++++---- .../hbm/textures/models/trinkets/Microwave.png | Bin 0 -> 1788 bytes 3 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png diff --git a/src/main/java/com/hbm/blocks/generic/BlockBobble.java b/src/main/java/com/hbm/blocks/generic/BlockBobble.java index df84bf616..0757002f9 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBobble.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBobble.java @@ -1,13 +1,9 @@ package com.hbm.blocks.generic; -import java.util.List; -import java.util.Random; - import com.hbm.inventory.gui.GUIScreenBobble; import com.hbm.items.special.ItemPlasticScrap.ScrapType; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; - import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -33,6 +29,9 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import java.util.List; +import java.util.Random; + public class BlockBobble extends BlockContainer implements IGUIProvider { public BlockBobble() { @@ -191,7 +190,8 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { VAER( "vaer", "vaer", "ZIRNOX", "taken de family out to the weekend cigarette festival", true, ScrapType.MEM_16K_D), NOS( "Dr Nostalgia", "Dr Nostalgia", "SSG and Vortex models", "Take a picture, I'ma pose, paparazzi$I've been drinking, moving like a zombie", true, ScrapType.BOARD_TRANSISTOR), DRILLGON( "Drillgon200", "Drillgon200", "1.12 Port", null, false, ScrapType.CPU_LOGIC), - CIRNO( "Cirno", "Cirno", "the only multi layered skin i had", "No brain. Head empty.", true, ScrapType.BOARD_BLANK); + CIRNO( "Cirno", "Cirno", "the only multi layered skin i had", "No brain. Head empty.", true, ScrapType.BOARD_BLANK), + MICROWAVE( "Microwave", "Microwave", "adding OC compat", "they call me the food heater", true, ScrapType.BRIDGE_BIOS); public String name; //the title of the tooltip public String label; //the name engraved in the socket diff --git a/src/main/java/com/hbm/render/tileentity/RenderBobble.java b/src/main/java/com/hbm/render/tileentity/RenderBobble.java index 58f96d995..649bd7ce5 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderBobble.java +++ b/src/main/java/com/hbm/render/tileentity/RenderBobble.java @@ -45,6 +45,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { public static final ResourceLocation bobble_nos = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/nos.png"); public static final ResourceLocation bobble_drillgon = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/drillgon200.png"); public static final ResourceLocation bobble_cirno = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/cirno.png"); + public static final ResourceLocation bobble_microwave = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/microwave.png"); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float intero) { @@ -94,6 +95,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { case VAER: bindTexture(bobble_vaer); break; case NOS: bindTexture(bobble_nos); break; case DRILLGON: bindTexture(bobble_drillgon); break; + case MICROWAVE: bindTexture(bobble_microwave); break; default: bindTexture(ResourceManager.universal); } @@ -311,19 +313,19 @@ public class RenderBobble extends TileEntitySpecialRenderer { public void renderPellet(BobbleType type) { GL11.glEnable(GL11.GL_CULL_FACE); - + GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); GL11.glDisable(GL11.GL_LIGHTING); bobble.renderPart("Pellet"); - + GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_BLEND); GL11.glAlphaFunc(GL11.GL_GREATER, 0); - + OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(1.0F, 1.0F, 0.0F, 0.1F + (float)Math.sin(System.currentTimeMillis() * 0.001D) * 0.05F); + GL11.glColor4f(1.0F, 1.0F, 0.0F, 0.1F + (float) Math.sin(System.currentTimeMillis() * 0.001D) * 0.05F); bobble.renderPart("PelletShine"); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png b/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png new file mode 100644 index 0000000000000000000000000000000000000000..13afba352dcb8175b35341cb00bb585beeb37eb4 GIT binary patch literal 1788 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D29ZfbK~#8N?ORK4 z6h{!Q?wQ^7+C;1kaiS1VKuB-`5i6$%iJZ7ZxpB)0Df|d7CjTI3t~nx3L6IzxTOuJL zD-j_INrXb;AQB9T?cJH_d31Na>KPj?UVH7Gh4o{;Rl9qtduO()tE+0d%Yyn~dV1Ox z&4KXr>C?W?7$sy;?^_H_0GR2nvRhDTKvC~oR01gKF3i%bBx|>2z2Pmo%5FhV0X&&` z;>~_^&9mDS!UovUZcvo<^JOvWIKi8kn7CH7H^j}GH>uTX(bcP0yXyJ*`C`Q22!i1A zqB#<5$q3HP&C$h+7uVH$0b3G4FXp-43#c@ps5eC~=DFSr*!LQ+@7>_Khf6wc4W;CX zv78_T8KX#w1{oWZrG=Nj-!57k!)Et36^QW9 zbWPaH&)Kd(*9{hQ4B?*-MpLx8HmE(+8ba_%+lQMyK;Q=&ZtNBTtg`{kC^OHDb74s7 zLkRqOkY8_tkuIk}AfdWG>NTmc>hsKVEk(`EdS*h1g4JIaqxKHOkqCy3 z)>0j`BuOaEQV2oP`1rW%i$UW)tu@u^b^7)8ZAb5gkM*BLi|CejtZ2Pn^j%Vu=RUO_ zt2dYwP;rfqhmXdb`_O}1Ye0Z{G4G%I?ijpXBMXQ*M%1DPDiaO7!9!pBVcpSDVMPCwy zu4GXRA+=rK>%#f-@6*|{r(8WuNDb8&u>oVtn9&rfy$k__B%{o=Wn#c^;QB}uZB9?JMj{t)TF+mf|a%5OA z&TPX&XbU4KbN9GY(bo$|>m$}j_zu3U$;fC}d#%t;K@Uh6M24WF!;N!e3mW(Bb_h?L z#u7-}65u)qVgg)pNdun^YP zJx7Bue2)1Sv#bf80%a9@Av9*`lzM@|+gZ_iHF(t;u-YkRX0G_BmmAIHgG;SkH7n2ODQtjf#p+VtI*=( zb>36Vg^=$$@4T&pp$kA#lk#%}>o!tZ3*0#ZZ>YLW)}4j20$8^z#K{%Bp~@Sr%rIZ` zc51E#oQkls)S%3d5m#oeG{0_A;Q2mTV<^)Z9XRlY%PTNiQ*(Trbe55nxtzJ?+=Eyt zs@LljMG-x|bI0`!ihc(l{V?#CdFG>^#*W;bX#A1q6w1yIHY*v2pIFbzBT(R##3>x!g;^^YNjC?w7w zuuP8ZiirT0niozubBQ5d?+LWS? zi%|*LBqlG>F8hRY6Gn}J1ppf$Rn|O|s)#7T+K-{`U@%i5$pl&nCT$F32o2yo0s+l1 zk%9m?-ynAVN-Y+58y!m7fXlD}UoQN-0vCWA<+rkYVvL0@yarr9yTH{)gggjU z4TiFf$gs>$7_kj#pJ`)ZL#@-0vb0Tx+i-v2j6eXNhzeotjahNW>U`u*Iw7r>F%Fu; z<3@~9Hh>nX>2eAq literal 0 HcmV?d00001 From 907ab2f7b480add8a8723d2e70b43f906c4303f3 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Wed, 3 May 2023 19:20:24 -0500 Subject: [PATCH 2/5] fixing the texture because it wants to be crappy --- .../hbm/textures/models/trinkets/Microwave.png | Bin 1788 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png b/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png deleted file mode 100644 index 13afba352dcb8175b35341cb00bb585beeb37eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1788 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D29ZfbK~#8N?ORK4 z6h{!Q?wQ^7+C;1kaiS1VKuB-`5i6$%iJZ7ZxpB)0Df|d7CjTI3t~nx3L6IzxTOuJL zD-j_INrXb;AQB9T?cJH_d31Na>KPj?UVH7Gh4o{;Rl9qtduO()tE+0d%Yyn~dV1Ox z&4KXr>C?W?7$sy;?^_H_0GR2nvRhDTKvC~oR01gKF3i%bBx|>2z2Pmo%5FhV0X&&` z;>~_^&9mDS!UovUZcvo<^JOvWIKi8kn7CH7H^j}GH>uTX(bcP0yXyJ*`C`Q22!i1A zqB#<5$q3HP&C$h+7uVH$0b3G4FXp-43#c@ps5eC~=DFSr*!LQ+@7>_Khf6wc4W;CX zv78_T8KX#w1{oWZrG=Nj-!57k!)Et36^QW9 zbWPaH&)Kd(*9{hQ4B?*-MpLx8HmE(+8ba_%+lQMyK;Q=&ZtNBTtg`{kC^OHDb74s7 zLkRqOkY8_tkuIk}AfdWG>NTmc>hsKVEk(`EdS*h1g4JIaqxKHOkqCy3 z)>0j`BuOaEQV2oP`1rW%i$UW)tu@u^b^7)8ZAb5gkM*BLi|CejtZ2Pn^j%Vu=RUO_ zt2dYwP;rfqhmXdb`_O}1Ye0Z{G4G%I?ijpXBMXQ*M%1DPDiaO7!9!pBVcpSDVMPCwy zu4GXRA+=rK>%#f-@6*|{r(8WuNDb8&u>oVtn9&rfy$k__B%{o=Wn#c^;QB}uZB9?JMj{t)TF+mf|a%5OA z&TPX&XbU4KbN9GY(bo$|>m$}j_zu3U$;fC}d#%t;K@Uh6M24WF!;N!e3mW(Bb_h?L z#u7-}65u)qVgg)pNdun^YP zJx7Bue2)1Sv#bf80%a9@Av9*`lzM@|+gZ_iHF(t;u-YkRX0G_BmmAIHgG;SkH7n2ODQtjf#p+VtI*=( zb>36Vg^=$$@4T&pp$kA#lk#%}>o!tZ3*0#ZZ>YLW)}4j20$8^z#K{%Bp~@Sr%rIZ` zc51E#oQkls)S%3d5m#oeG{0_A;Q2mTV<^)Z9XRlY%PTNiQ*(Trbe55nxtzJ?+=Eyt zs@LljMG-x|bI0`!ihc(l{V?#CdFG>^#*W;bX#A1q6w1yIHY*v2pIFbzBT(R##3>x!g;^^YNjC?w7w zuuP8ZiirT0niozubBQ5d?+LWS? zi%|*LBqlG>F8hRY6Gn}J1ppf$Rn|O|s)#7T+K-{`U@%i5$pl&nCT$F32o2yo0s+l1 zk%9m?-ynAVN-Y+58y!m7fXlD}UoQN-0vCWA<+rkYVvL0@yarr9yTH{)gggjU z4TiFf$gs>$7_kj#pJ`)ZL#@-0vb0Tx+i-v2j6eXNhzeotjahNW>U`u*Iw7r>F%Fu; z<3@~9Hh>nX>2eAq From 76756f02e85da12e2374b25b06db035d0f4821ba Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Wed, 3 May 2023 19:28:46 -0500 Subject: [PATCH 3/5] intellij being dumb and not seeing files moment --- .../hbm/textures/models/trinkets/microwave.png | Bin 0 -> 566 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/microwave.png diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/microwave.png b/src/main/resources/assets/hbm/textures/models/trinkets/microwave.png new file mode 100644 index 0000000000000000000000000000000000000000..82a5c22a44f90fea0a359d8b8d3c99ead67c999a GIT binary patch literal 566 zcmV-60?GY}P)Px$@JU2LRCr$PS+Puz0xpk$g+W;^`InA7%Z|37`TpRe*>zlj+>0GF1yu0hub`Vuzqh zW0`}8#!K}5U+_%};SnY1a)$gP{K@_#V4xgch7q0$aK1hxg3T>}9HNTlz8)o{T_gdy zm(Up>6%ZqkEx>72b6queiHB> zt7^$_s|k$LR%7$g4|vO-xZKs_1oM>S3v9Z>IvvcI95Q8 z)la4X6413ltAKt2T%7`r&w^Z&Puc=0rb`N+Nv1%GKvVf70jZcR#cv7)px+qLo?g6( zdlZbxS!e7`z>7D5RP<^x}0 Date: Wed, 3 May 2023 20:17:10 -0500 Subject: [PATCH 4/5] added accelerated compatibility to other components such as the DFC and batteries, also added some highly requested compatibility to fluid tanks. --- .../machine/TileEntityCoreEmitter.java | 27 ++++++------ .../machine/TileEntityCoreInjector.java | 6 +-- .../machine/TileEntityCoreReceiver.java | 8 ++-- .../machine/TileEntityCoreStabilizer.java | 12 +++--- .../storage/TileEntityMachineBattery.java | 24 ++++------- .../storage/TileEntityMachineFluidTank.java | 42 +++++++++++++++---- 6 files changed, 70 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 5dd663165..085f1d9ad 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -1,7 +1,8 @@ package com.hbm.tileentity.machine; -import java.util.List; - +import api.hbm.block.ILaserable; +import api.hbm.energy.IEnergyUser; +import api.hbm.fluid.IFluidStandardReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.container.ContainerCoreEmitter; import com.hbm.inventory.fluid.FluidType; @@ -11,10 +12,6 @@ import com.hbm.inventory.gui.GUICoreEmitter; import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; - -import api.hbm.block.ILaserable; -import api.hbm.energy.IEnergyUser; -import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -35,6 +32,8 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.List; + @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { @@ -311,50 +310,50 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne return "dfc_emitter"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { return new Object[] {getPower()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { return new Object[] {getMaxPower()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCryogel(Context context, Arguments args) { return new Object[] {tank.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInput(Context context, Arguments args) { return new Object[] {watts}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {getPower(), getMaxPower(), tank.getFill(), watts, isOn}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] isActive(Context context, Arguments args) { return new Object[] {isOn}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] setActive(Context context, Arguments args) { isOn = args.checkBoolean(0); return new Object[] {}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] setInput(Context context, Arguments args) { int newOutput = args.checkInteger(0); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index 5b7e90266..7285639bd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -200,19 +200,19 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl return "dfc_injector"; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] getFirstFuel(Context context, Arguments args) { return new Object[] {tanks[0].getFill()}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] getSecondFuel(Context context, Arguments args) { return new Object[] {tanks[1].getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {tanks[0].getFill(), tanks[1].getFill()}; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index d3e203e67..51b79e242 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -191,25 +191,25 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn return "dfc_receiver"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInput(Context context, Arguments args) { return new Object[] {joules}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getOutput(Context context, Arguments args) { return new Object[] {power}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCryogel(Context context, Arguments args) { return new Object[] {tank.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {joules, power, tank.getFill()}; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index 27f060d89..de41bd82a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -173,25 +173,25 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I return "dfc_stabilizer"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { return new Object[] {power}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { return new Object[] {maxPower}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInput(Context context, Arguments args) { return new Object[] {watts}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getDurability(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() == ModItems.ams_lens && ItemLens.getLensDamage(slots[0]) < ((ItemLens)ModItems.ams_lens).maxDamage) { @@ -200,7 +200,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I return new Object[] {"N/A"}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { Object lens_damage_buf; @@ -212,7 +212,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I return new Object[] {power, maxPower, watts, lens_damage_buf}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] setInput(Context context, Arguments args) { int newOutput = args.checkInteger(0); diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index 1043fb572..a0463756c 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -1,10 +1,6 @@ package com.hbm.tileentity.machine.storage; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - +import api.hbm.energy.*; import com.hbm.blocks.machine.MachineBattery; import com.hbm.inventory.container.ContainerMachineBattery; import com.hbm.inventory.gui.GUIMachineBattery; @@ -12,13 +8,6 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; - -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyConductor; -import api.hbm.energy.IEnergyConnector; -import api.hbm.energy.IEnergyUser; -import api.hbm.energy.IPowerNet; -import api.hbm.energy.PowerNet; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,6 +25,11 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyUser, IPersistentNBT, SimpleComponent, IGUIProvider { @@ -379,19 +373,19 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I return "ntm_energy_storage"; // need a way to somehow detect the first word of the energy storage block so people wont get confused when it comes to multiple energy storage blocks } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { return new Object[] {getPower()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { return new Object[] {getMaxPower()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {getPower(), getMaxPower()}; diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index 0036b77d2..327af7299 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -1,9 +1,6 @@ package com.hbm.tileentity.machine.storage; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - +import api.hbm.fluid.IFluidStandardTransceiver; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.vanillant.ExplosionVNT; @@ -35,11 +32,13 @@ import com.hbm.tileentity.IRepairable; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -50,6 +49,11 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) public class TileEntityMachineFluidTank extends TileEntityMachineBase implements IFluidContainer, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable { public FluidTank tank; @@ -438,4 +442,28 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements this.hasExploded = false; this.markChanged(); } -} + + public String getComponentName() { + return "ntm_fluid_tank"; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getFluidStored(Context context, Arguments args) { + return new Object[] {tank.getFill()}; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxStored(Context context, Arguments args) { + return new Object[] {tank.getMaxFill()}; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getTypeStored(Context context, Arguments args) { + return new Object[] {tank.getTankType()}; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; + } +} \ No newline at end of file From 13e534be653a554c89d481eb4d41fe172812a83c Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Wed, 3 May 2023 21:02:55 -0500 Subject: [PATCH 5/5] Fixed some dumb compatibility issues in the fluid tanks --- .../machine/storage/TileEntityBarrel.java | 54 ++++++++++++++----- .../storage/TileEntityMachineFluidTank.java | 12 +++-- 2 files changed, 51 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java index 9c26e28d9..d6957ce01 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -1,10 +1,6 @@ package com.hbm.tileentity.machine.storage; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - +import api.hbm.fluid.*; import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; @@ -21,14 +17,13 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.fluid.IFluidConductor; -import api.hbm.fluid.IFluidConnector; -import api.hbm.fluid.IFluidStandardTransceiver; -import api.hbm.fluid.IPipeNet; -import api.hbm.fluid.PipeNet; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; @@ -39,7 +34,13 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; -public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) +public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, SimpleComponent, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { public FluidTank tank; public short mode = 0; @@ -349,4 +350,33 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIBarrel(player.inventory, this); } + + @Override + public String getComponentName() { + return "ntm_fluid_tank"; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getFluidStored(Context context, Arguments args) { + return new Object[] {tank.getFill()}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxStored(Context context, Arguments args) { + return new Object[] {tank.getMaxFill()}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getTypeStored(Context context, Arguments args) { + return new Object[] {tank.getTankType().getName()}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index 327af7299..91174eb4a 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -39,6 +39,7 @@ import cpw.mods.fml.relauncher.SideOnly; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -54,7 +55,7 @@ import java.util.List; import java.util.Random; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) -public class TileEntityMachineFluidTank extends TileEntityMachineBase implements IFluidContainer, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable { +public class TileEntityMachineFluidTank extends TileEntityMachineBase implements IFluidContainer, SimpleComponent, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable { public FluidTank tank; public short mode = 0; @@ -443,24 +444,29 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements this.markChanged(); } + @Override public String getComponentName() { - return "ntm_fluid_tank"; + return "ntm_tank"; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getFluidStored(Context context, Arguments args) { return new Object[] {tank.getFill()}; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxStored(Context context, Arguments args) { return new Object[] {tank.getMaxFill()}; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {tank.getTankType()}; + return new Object[] {tank.getTankType().getName()}; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) {