From bd5050bc1b80bc4ce7bc370270bd9789d8292cec Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sat, 28 Apr 2018 12:14:38 +0200 Subject: [PATCH] More battery blocks, FFGEUA stops transmitting to full machines, B93 --- .../blocks/battery_dineutronium_front.png | Bin 0 -> 532 bytes .../blocks/battery_dineutronium_side.png | Bin 0 -> 579 bytes .../textures/blocks/battery_lithium_front.png | Bin 0 -> 594 bytes .../textures/blocks/battery_lithium_side.png | Bin 0 -> 584 bytes .../blocks/battery_schrabidium_front.png | Bin 0 -> 566 bytes .../blocks/battery_schrabidium_side.png | Bin 0 -> 560 bytes .../items/_test_TWENTY_POINT_FIVE_temp.png | Bin 0 -> 321 bytes assets/hbm/textures/models/ModelB93.png | Bin 0 -> 2880 bytes com/hbm/blocks/ModBlocks.java | 11 +- com/hbm/blocks/machine/MachineBattery.java | 26 +- com/hbm/inventory/gui/GUIMachineBattery.java | 7 + com/hbm/inventory/gui/GUIMachineRadar.java | 20 +- .../inventory/gui/GUIMachineTeleporter.java | 10 +- com/hbm/items/ModItems.java | 3 + com/hbm/lib/Library.java | 37 +- com/hbm/main/ClientProxy.java | 1 + com/hbm/render/item/ItemRenderGunAnim.java | 17 + com/hbm/render/model/ModelB93.java | 480 ++++++++++++++++++ .../machine/TileEntityMachineBattery.java | 7 +- .../machine/TileEntityMachineRadar.java | 3 +- .../machine/TileEntityMachineTeleporter.java | 4 + 21 files changed, 594 insertions(+), 32 deletions(-) create mode 100644 assets/hbm/textures/blocks/battery_dineutronium_front.png create mode 100644 assets/hbm/textures/blocks/battery_dineutronium_side.png create mode 100644 assets/hbm/textures/blocks/battery_lithium_front.png create mode 100644 assets/hbm/textures/blocks/battery_lithium_side.png create mode 100644 assets/hbm/textures/blocks/battery_schrabidium_front.png create mode 100644 assets/hbm/textures/blocks/battery_schrabidium_side.png create mode 100644 assets/hbm/textures/items/_test_TWENTY_POINT_FIVE_temp.png create mode 100644 assets/hbm/textures/models/ModelB93.png create mode 100644 com/hbm/render/model/ModelB93.java diff --git a/assets/hbm/textures/blocks/battery_dineutronium_front.png b/assets/hbm/textures/blocks/battery_dineutronium_front.png new file mode 100644 index 0000000000000000000000000000000000000000..0accea58a49fc75e82b51787f1737ba3d55b9135 GIT binary patch literal 532 zcmV+v0_**WP)HPh)744m2M46opp@dt`z8JkXv6Iv)jzL(Wd42M4*a@#%6p~M&}CiMc<-_HzWpn{?d87Vmagj%5oWXP@Cw#i7K;VjZG(vLll4xe zhcxE%IRI5v4MP+W`o7N;KCQm*t^UwrjKml*)9I8DLZUC)4RP`;U%30GiEagBj6d zj8xSHMNtrAL@7m46oe3{szEfPPbotPVd$VNOPq6v2q~rf>qegAPYfYojLCN}$oUsB W0SdpM2x4Ra0000G87w literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/battery_dineutronium_side.png b/assets/hbm/textures/blocks/battery_dineutronium_side.png new file mode 100644 index 0000000000000000000000000000000000000000..4b52478c63c7d97442d4c066ede87a6030806c1b GIT binary patch literal 579 zcmV-J0=)f+P)gwt$hY+pURH_>~=dIA0L^` z_QMsNb1W7M_WOpas%V-95n;B4l%Qns+iB`OeT|Ii8*JwuETqe)*9#B z(}@`6JXexZ8gohsdvtU}j1lJ?+wFD)=zCbLTKayFu-R-d#^9V|v)NEpk?C|gEb-*z z1f||^dwa|I`8guOb-u;r6!kf+E+1`#}n_z;qV7k!B! z-UA+d01qMvib!4|5{OwC4>^S7l*2Gh_fGeehjGT;Td*%h7sX%yU-g&D^IW|5{Lf3% z6yv>THk%P+BuNsKQiw<&opZz((OT0q4I!>I?(QyES67V3V@!;Zot+)BEJG>9qmRc}3rfLY0Bej<3cfr&0^s)c zma3{+0OuUeIRM6EI5?O9kR%BqgdX7HqFe)0Ez8kpg!jIuU)Rty4e&2^F9ayd5)q-U z>vjv)T4u8uS(YIptX6P--gXjc0oNsLZ*K#zwYAj_QADV!s+aKT@zK3D5o09Ah#3xt zgb;cO>ywW$0-&{~Gh3GnAut+^NMejkCKKlKIrI6P=ig6QE|)y{d_qwaJp1;Z<#Nf3 zA0N26xnVk;GM!G*T4SvxX_|(rswm5nvMhP~Am`2RQ{Fv1@G2c gfH7vnTxpu}2d|4H{t84WL;wH)07*qoM6N<$g4o6g&;S4c literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/blocks/battery_lithium_side.png b/assets/hbm/textures/blocks/battery_lithium_side.png new file mode 100644 index 0000000000000000000000000000000000000000..8bba4f3e02718069a38862ef5e06f3f770bc615c GIT binary patch literal 584 zcmV-O0=NB%P)!1@Q|j*Rhl629U<=7|B_(xN{q@&hRqFEcvUuB#I1INe5(m0-ba3#@93rA%q^pdrw{0JUu;eadCk$=3TY@p1if2n;VQVgb=X6 za0^#gS7@zCDWQ}?YfX%CSepHtwU!uT&tNnf;hdwCLe6=(x;_20000lOp*IA)P{E8$>~u{DQl8?%g?eES5X$5(M$UFlUCtd*1hasPT9l>$>KD%sGdx z>zbk{5D~Q2D5Z!orrUduh+vGNZChfD31B{-W0g`V=-0)?KV{yUOcJ;{JUom|)A0N9 z@+7VyEXxIe_nxL{ z04SVeb8`~_r4%BP0PgSaldqHl!1nun>bgz1u+vDzRgWhwA6{~Mdc(7K&$&Il;l=yy#LgIlwH7rVkE8eg!5|r90Mh7o z5;_@APfjq#phlxnEQ$hvALr+(zstd0eL8z`e7q=l(_n$L3y+VE&{`uRD5cO^6GBL! z-Ji0S5W+%+a}Mu4F-F?9T^V0vOxnZ{0@m7|~l$F}QY_Cvaz6x!9M;3*=eSyLMqe zNIHWdO<1z7+$=28YBc&uv7Sj56EL}rKpY*NbMC$3>guWt!@&QP)*3Yo1AX65HC?UiQ`gMQ*uAk3WtC?IWrEt!%d3fOE`5Es$LI|Xk z)OF1`j&BI;?Jei46~-7;N{Quii7|%VZpYc#8Nf^uLO6Q7*=%Ur7Ogeb+5>_2o)7{t zMsm(GIHmMY8$t*G)MBw<7zRQJ?Du=daio;Ox6dDN4(b|&fG^))0Px<=IIT6xIY;03 z7-MLf24f7R6pVq3i;kQ#Pft7AwgsSR8k(lz^z`%)Vkre{Eg=Mi5KJ>Mj?8vq{3Cs` zl~N+5ggQAnA;w4u0q5KtS_ts?xFdvv1#2x;RS`nKT1$+P#bR*?vFkdzu4B91vRp1H zrSSDfVww?v_EkY$*R*YmloID0D(8%~mi>M|hxDG3QlgYXO<_!JT(8$hz)AMs?VB=_ zQX(!dFH7I|0Q|hWoBKOe&iTzSeY&}M%_*QJ*(oJHUSCsH6)7G3S5-xfaVDMagi^#9 y4>q*cc<(8tkaM25Zt^*8VvG@`)X}7Bt@#a=`6|#_ZOY;R0000K% zML(>Sb?oze(TrKWmnaF3+E%H1C9)#w@5~C4-0nAR=tOixUx% zCctV=&W2?e)pZvPlb7Jfr3pvY#jS7=KRls~CK?fCvY|x8Z~T9NDC_x+FT8Jh!V|ee z&NiEJYR$1ISN)eiXicdMsRZiNAU))9u7N>CJk-J@$J=ntg7T)!R8CWdB3`23X6PRW Tv2ofa00000NkvXXu0mjfOV5Ic literal 0 HcmV?d00001 diff --git a/assets/hbm/textures/models/ModelB93.png b/assets/hbm/textures/models/ModelB93.png new file mode 100644 index 0000000000000000000000000000000000000000..d99251499bd502d85d2ad6d66a5e2b037f9a33be GIT binary patch literal 2880 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 0) { - long part = that.getSPower() / size; - for(IConsumer consume : that.getList()) - { + + ///EXPERIMENTAL START/// + + List requestList = new ArrayList(); + + for(IConsumer consume : that.getList()) { if(consume.getPower() < consume.getMaxPower()) + requestList.add(consume); + } + + if(requestList.size() > 0) { + + ///EXPERIMENTAL END/// + + + long part = that.getSPower() / size; + for(IConsumer consume : requestList) { - if(consume.getMaxPower() - consume.getPower() >= part) + if(consume.getPower() < consume.getMaxPower()) { - that.setSPower(that.getSPower()-part); - consume.setPower(consume.getPower() + part); - } else { - that.setSPower(that.getSPower() - (consume.getMaxPower() - consume.getPower())); - consume.setPower(consume.getMaxPower()); + if(consume.getMaxPower() - consume.getPower() >= part) + { + that.setSPower(that.getSPower()-part); + consume.setPower(consume.getPower() + part); + } else { + that.setSPower(that.getSPower() - (consume.getMaxPower() - consume.getPower())); + consume.setPower(consume.getMaxPower()); + } } } + + // } + // } that.clearList(); } diff --git a/com/hbm/main/ClientProxy.java b/com/hbm/main/ClientProxy.java index 854f532dd..49a1a29d3 100644 --- a/com/hbm/main/ClientProxy.java +++ b/com/hbm/main/ClientProxy.java @@ -200,6 +200,7 @@ public class ClientProxy extends ServerProxy MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action_green, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_sonata, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_b92, new ItemRenderGunAnim()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_b93, new ItemRenderGunAnim()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/com/hbm/render/item/ItemRenderGunAnim.java b/com/hbm/render/item/ItemRenderGunAnim.java index 2de723bec..af7826243 100644 --- a/com/hbm/render/item/ItemRenderGunAnim.java +++ b/com/hbm/render/item/ItemRenderGunAnim.java @@ -9,6 +9,7 @@ import com.hbm.items.weapon.GunLeverAction; import com.hbm.items.weapon.GunLeverActionS; import com.hbm.lib.RefStrings; import com.hbm.render.model.ModelB92; +import com.hbm.render.model.ModelB93; import com.hbm.render.model.ModelBoltAction; import com.hbm.render.model.ModelDash; import com.hbm.render.model.ModelDefabricator; @@ -35,11 +36,13 @@ public class ItemRenderGunAnim implements IItemRenderer { protected ModelLeverAction leveraction; protected ModelBoltAction boltaction; protected ModelB92 b92; + protected ModelB93 b93; public ItemRenderGunAnim() { leveraction = new ModelLeverAction(); boltaction = new ModelBoltAction(); b92 = new ModelB92(); + b93 = new ModelB93(); } @Override @@ -76,6 +79,8 @@ public class ItemRenderGunAnim implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionGreen.png")); if(item.getItem() == ModItems.gun_b92) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB92SM.png")); + if(item.getItem() == ModItems.gun_b93) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB93.png")); GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, 0.0F, -0.2F); @@ -110,6 +115,12 @@ public class ItemRenderGunAnim implements IItemRenderer { GL11.glRotatef(GunB92.getRotationFromAnim(item) * -90, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(off * -0.5F, off * -0.5F, 0.0F); } + + if(item.getItem() == ModItems.gun_b93 && GunB92.getRotationFromAnim(item) > 0) { + float off = GunB92.getRotationFromAnim(item) * 2; + GL11.glRotatef(GunB92.getRotationFromAnim(item) * -90, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(off * -0.5F, off * -0.5F, 0.0F); + } if(item.getItem() == ModItems.gun_lever_action || item.getItem() == ModItems.gun_lever_action_dark) leveraction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverAction.getRotationFromAnim(item)); @@ -119,6 +130,8 @@ public class ItemRenderGunAnim implements IItemRenderer { boltaction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunBoltAction.getLevRotationFromAnim(item), GunBoltAction.getTransFromAnim(item)); if(item.getItem() == ModItems.gun_b92) b92.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); + if(item.getItem() == ModItems.gun_b93) + b93.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); GL11.glPopMatrix(); break; @@ -136,6 +149,8 @@ public class ItemRenderGunAnim implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionGreen.png")); if(item.getItem() == ModItems.gun_b92) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB92SM.png")); + if(item.getItem() == ModItems.gun_b93) + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB93.png")); GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); @@ -159,6 +174,8 @@ public class ItemRenderGunAnim implements IItemRenderer { boltaction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunBoltAction.getLevRotationFromAnim(item), GunBoltAction.getTransFromAnim(item)); if(item.getItem() == ModItems.gun_b92) b92.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); + if(item.getItem() == ModItems.gun_b93) + b93.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item)); GL11.glPopMatrix(); default: break; } diff --git a/com/hbm/render/model/ModelB93.java b/com/hbm/render/model/ModelB93.java new file mode 100644 index 000000000..b7fcb3514 --- /dev/null +++ b/com/hbm/render/model/ModelB93.java @@ -0,0 +1,480 @@ +// Date: 26.04.2018 22:13:08 +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +package com.hbm.render.model; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelB93 extends ModelBase { + // fields + ModelRenderer Muzzle1; + ModelRenderer Barrel1; + ModelRenderer Barrel2; + ModelRenderer Grip; + ModelRenderer Front1; + ModelRenderer Front2; + ModelRenderer Body; + ModelRenderer Top; + ModelRenderer GripBottom; + ModelRenderer Handle; + ModelRenderer HandleBack; + ModelRenderer Frame1; + ModelRenderer Frame2; + ModelRenderer Frame3; + ModelRenderer Trigger; + ModelRenderer BackPlate1; + ModelRenderer Back; + ModelRenderer BackPlate2; + ModelRenderer Pump1; + ModelRenderer Pump2; + ModelRenderer BodyPlate; + ModelRenderer Muz1; + ModelRenderer Muz2; + ModelRenderer Muz3; + ModelRenderer Damp1; + ModelRenderer Damp2; + ModelRenderer Damp3; + ModelRenderer DampFront; + ModelRenderer EmitterRod; + ModelRenderer EmitterCrystal; + ModelRenderer EmitterClamp1; + ModelRenderer EmitterClamp2; + ModelRenderer EmitterClamp3; + ModelRenderer EmitterClamp4; + ModelRenderer EmitterClamp5; + ModelRenderer EmitterClamp6; + ModelRenderer EmitterClamp7; + ModelRenderer EmitterClamp8; + ModelRenderer PowBox; + ModelRenderer PowPanel; + ModelRenderer Nix1; + ModelRenderer Nix2; + ModelRenderer Nix3; + ModelRenderer Nix11; + ModelRenderer Nix21; + ModelRenderer Nix31; + ModelRenderer Nix12; + ModelRenderer Nix22; + ModelRenderer Nix32; + ModelRenderer Pylon; + ModelRenderer Wire1; + ModelRenderer Wire2; + ModelRenderer Wire3; + ModelRenderer PowPylon; + + public ModelB93() { + textureWidth = 128; + textureHeight = 64; + + Muzzle1 = new ModelRenderer(this, 22, 36); + Muzzle1.addBox(0F, 0F, 0F, 2, 3, 2); + Muzzle1.setRotationPoint(-24F, 0.5F, -1F); + Muzzle1.setTextureSize(64, 32); + Muzzle1.mirror = true; + setRotation(Muzzle1, 0F, 0F, 0F); + Barrel1 = new ModelRenderer(this, 0, 0); + Barrel1.addBox(0F, 0F, 0F, 24, 2, 3); + Barrel1.setRotationPoint(-24F, 1F, -1.5F); + Barrel1.setTextureSize(64, 32); + Barrel1.mirror = true; + setRotation(Barrel1, 0F, 0F, 0F); + Barrel2 = new ModelRenderer(this, 0, 5); + Barrel2.addBox(0F, 0F, 0F, 22, 1, 2); + Barrel2.setRotationPoint(-22F, 0.5F, -1F); + Barrel2.setTextureSize(64, 32); + Barrel2.mirror = true; + setRotation(Barrel2, 0F, 0F, 0F); + Grip = new ModelRenderer(this, 0, 8); + Grip.addBox(0F, 0F, 0F, 20, 3, 4); + Grip.setRotationPoint(-20F, 3F, -2F); + Grip.setTextureSize(64, 32); + Grip.mirror = true; + setRotation(Grip, 0F, 0F, 0F); + Front1 = new ModelRenderer(this, 10, 36); + Front1.addBox(0F, 0F, 0F, 2, 4, 4); + Front1.setRotationPoint(-22F, 0.5F, -2F); + Front1.setTextureSize(64, 32); + Front1.mirror = true; + setRotation(Front1, 0F, 0F, 0F); + Front2 = new ModelRenderer(this, 0, 36); + Front2.addBox(0F, 0F, 0F, 2, 6, 3); + Front2.setRotationPoint(-22F, 0F, -1.5F); + Front2.setTextureSize(64, 32); + Front2.mirror = true; + setRotation(Front2, 0F, 0F, 0F); + Body = new ModelRenderer(this, 0, 15); + Body.addBox(0F, 0F, 0F, 15, 7, 4); + Body.setRotationPoint(0F, 0.5F, -2F); + Body.setTextureSize(64, 32); + Body.mirror = true; + setRotation(Body, 0F, 0F, 0F); + Top = new ModelRenderer(this, 28, 60); + Top.addBox(0F, 0F, 0F, 15, 1, 3); + Top.setRotationPoint(0F, 0F, -1.5F); + Top.setTextureSize(64, 32); + Top.mirror = true; + setRotation(Top, 0F, 0F, 0F); + GripBottom = new ModelRenderer(this, 24, 43); + GripBottom.addBox(0F, 0F, 0F, 18, 1, 2); + GripBottom.setRotationPoint(-18F, 5.5F, -1F); + GripBottom.setTextureSize(64, 32); + GripBottom.mirror = true; + setRotation(GripBottom, 0F, 0F, 0F); + Handle = new ModelRenderer(this, 0, 45); + Handle.addBox(0F, 0F, 0F, 6, 15, 4); + Handle.setRotationPoint(6F, 7F, -2F); + Handle.setTextureSize(64, 32); + Handle.mirror = true; + setRotation(Handle, 0F, 0F, -0.2268928F); + HandleBack = new ModelRenderer(this, 20, 46); + HandleBack.addBox(5.5F, 0F, 0F, 1, 15, 3); + HandleBack.setRotationPoint(6F, 7F, -1.5F); + HandleBack.setTextureSize(64, 32); + HandleBack.mirror = true; + setRotation(HandleBack, 0F, 0F, -0.2268928F); + Frame1 = new ModelRenderer(this, 28, 57); + Frame1.addBox(0F, 0F, 0F, 7, 1, 2); + Frame1.setRotationPoint(0.5F, 11F, -1F); + Frame1.setTextureSize(64, 32); + Frame1.mirror = true; + setRotation(Frame1, 0F, 0F, 0F); + Frame2 = new ModelRenderer(this, 28, 51); + Frame2.addBox(0F, 0F, 0F, 2, 4, 2); + Frame2.setRotationPoint(-2F, 6.5F, -1F); + Frame2.setTextureSize(64, 32); + Frame2.mirror = true; + setRotation(Frame2, 0F, 0F, 0F); + Frame3 = new ModelRenderer(this, 46, 57); + Frame3.addBox(0F, -1F, 0F, 3, 1, 2); + Frame3.setRotationPoint(-2F, 10.5F, -1F); + Frame3.setTextureSize(64, 32); + Frame3.mirror = true; + setRotation(Frame3, 0F, 0F, 0.5235988F); + Trigger = new ModelRenderer(this, 36, 53); + Trigger.addBox(0F, 0F, 0F, 2, 3, 1); + Trigger.setRotationPoint(4F, 7F, -0.5F); + Trigger.setTextureSize(64, 32); + Trigger.mirror = true; + setRotation(Trigger, 0F, 0F, 0.1919862F); + BackPlate1 = new ModelRenderer(this, 56, 53); + BackPlate1.addBox(-1F, 0F, 0F, 1, 4, 3); + BackPlate1.setRotationPoint(15F, 0F, -1.5F); + BackPlate1.setTextureSize(64, 32); + BackPlate1.mirror = true; + setRotation(BackPlate1, 0F, 0F, -0.5235988F); + Back = new ModelRenderer(this, 42, 49); + Back.addBox(0F, 0F, 0F, 2, 4, 4); + Back.setRotationPoint(15F, 3.5F, -2F); + Back.setTextureSize(64, 32); + Back.mirror = true; + setRotation(Back, 0F, 0F, 0F); + BackPlate2 = new ModelRenderer(this, 48, 5); + BackPlate2.addBox(-2F, 0F, 0F, 2, 4, 4); + BackPlate2.setRotationPoint(15F, 0.5F, -2F); + BackPlate2.setTextureSize(64, 32); + BackPlate2.mirror = true; + setRotation(BackPlate2, 0F, 0F, -0.4886922F); + Pump1 = new ModelRenderer(this, 46, 29); + Pump1.addBox(0F, 0F, 0F, 7, 2, 2); + Pump1.setRotationPoint(10F, 1F, -1F); + Pump1.setTextureSize(64, 32); + Pump1.mirror = true; + setRotation(Pump1, 0F, 0F, 0F); + Pump2 = new ModelRenderer(this, 44, 33); + Pump2.addBox(0F, 0F, 0F, 3, 3, 7); + Pump2.setRotationPoint(17F, 0.5F, -3.5F); + Pump2.setTextureSize(64, 32); + Pump2.mirror = true; + setRotation(Pump2, 0F, 0F, 0F); + BodyPlate = new ModelRenderer(this, 0, 26); + BodyPlate.addBox(0F, 0F, 0F, 14, 5, 5); + BodyPlate.setRotationPoint(1.5F, 2F, -2.5F); + BodyPlate.setTextureSize(64, 32); + BodyPlate.mirror = true; + setRotation(BodyPlate, 0F, 0F, 0F); + Muz1 = new ModelRenderer(this, 90, 3); + Muz1.addBox(0F, 0F, 0F, 2, 5, 3); + Muz1.setRotationPoint(-26F, -0.5F, -1.5F); + Muz1.setTextureSize(64, 32); + Muz1.mirror = true; + setRotation(Muz1, 0F, 0F, 0F); + Muz2 = new ModelRenderer(this, 64, 2); + Muz2.addBox(0F, 0F, 0F, 2, 3, 5); + Muz2.setRotationPoint(-26F, 0.5F, -2.5F); + Muz2.setTextureSize(64, 32); + Muz2.mirror = true; + setRotation(Muz2, 0F, 0F, 0F); + Muz3 = new ModelRenderer(this, 78, 3); + Muz3.addBox(0F, 0F, 0F, 2, 4, 4); + Muz3.setRotationPoint(-26F, 0F, -2F); + Muz3.setTextureSize(64, 32); + Muz3.mirror = true; + setRotation(Muz3, 0F, 0F, 0F); + Damp1 = new ModelRenderer(this, 64, 53); + Damp1.addBox(0F, 0F, 0F, 24, 7, 4); + Damp1.setRotationPoint(-50F, -1.5F, -2F); + Damp1.setTextureSize(64, 32); + Damp1.mirror = true; + setRotation(Damp1, 0F, 0F, 0F); + Damp2 = new ModelRenderer(this, 64, 42); + Damp2.addBox(0F, 0F, 0F, 24, 4, 7); + Damp2.setRotationPoint(-50F, 0F, -3.5F); + Damp2.setTextureSize(64, 32); + Damp2.mirror = true; + setRotation(Damp2, 0F, 0F, 0F); + Damp3 = new ModelRenderer(this, 64, 30); + Damp3.addBox(0F, 0F, 0F, 24, 6, 6); + Damp3.setRotationPoint(-50F, -1F, -3F); + Damp3.setTextureSize(64, 32); + Damp3.mirror = true; + setRotation(Damp3, 0F, 0F, 0F); + DampFront = new ModelRenderer(this, 64, 22); + DampFront.addBox(0F, 0F, 0F, 2, 4, 4); + DampFront.setRotationPoint(-51.1F, 0F, -2F); + DampFront.setTextureSize(64, 32); + DampFront.mirror = true; + setRotation(DampFront, 0F, 0F, 0F); + EmitterRod = new ModelRenderer(this, 64, 18); + EmitterRod.addBox(0F, 0F, 0F, 4, 2, 2); + EmitterRod.setRotationPoint(-55F, 1F, -1F); + EmitterRod.setTextureSize(64, 32); + EmitterRod.mirror = true; + setRotation(EmitterRod, 0F, 0F, 0F); + EmitterCrystal = new ModelRenderer(this, 76, 24); + EmitterCrystal.addBox(0F, -1.5F, -1.5F, 3, 3, 3); + EmitterCrystal.setRotationPoint(-57F, 2F, 0F); + EmitterCrystal.setTextureSize(64, 32); + EmitterCrystal.mirror = true; + setRotation(EmitterCrystal, 0.7853982F, 0F, 0F); + EmitterClamp1 = new ModelRenderer(this, 88, 27); + EmitterClamp1.addBox(-5F, 0F, 0F, 5, 2, 1); + EmitterClamp1.setRotationPoint(-50F, 1F, -0.5F); + EmitterClamp1.setTextureSize(64, 32); + EmitterClamp1.mirror = true; + setRotation(EmitterClamp1, 0F, 0F, 1.047198F); + EmitterClamp2 = new ModelRenderer(this, 88, 24); + EmitterClamp2.addBox(-5F, -2F, 0F, 5, 2, 1); + EmitterClamp2.setRotationPoint(-50F, 3F, -0.5F); + EmitterClamp2.setTextureSize(64, 32); + EmitterClamp2.mirror = true; + setRotation(EmitterClamp2, 0F, 0F, -1.047198F); + EmitterClamp3 = new ModelRenderer(this, 100, 27); + EmitterClamp3.addBox(-5F, 0F, 0F, 5, 1, 2); + EmitterClamp3.setRotationPoint(-50F, 1.5F, -1F); + EmitterClamp3.setTextureSize(64, 32); + EmitterClamp3.mirror = true; + setRotation(EmitterClamp3, 0F, -1.047198F, 0F); + EmitterClamp4 = new ModelRenderer(this, 100, 24); + EmitterClamp4.addBox(-5F, 0F, -2F, 5, 1, 2); + EmitterClamp4.setRotationPoint(-50F, 1.5F, 1F); + EmitterClamp4.setTextureSize(64, 32); + EmitterClamp4.mirror = true; + setRotation(EmitterClamp4, 0F, 1.047198F, 0F); + EmitterClamp5 = new ModelRenderer(this, 76, 22); + EmitterClamp5.addBox(-6F, 0F, 0F, 7, 1, 1); + EmitterClamp5.setRotationPoint(-53F, -4F, -0.5F); + EmitterClamp5.setTextureSize(64, 32); + EmitterClamp5.mirror = true; + setRotation(EmitterClamp5, 0F, 0F, -0.5235988F); + EmitterClamp6 = new ModelRenderer(this, 76, 20); + EmitterClamp6.addBox(-6F, -1F, 0F, 7, 1, 1); + EmitterClamp6.setRotationPoint(-53F, 8F, -0.5F); + EmitterClamp6.setTextureSize(64, 32); + EmitterClamp6.mirror = true; + setRotation(EmitterClamp6, 0F, 0F, 0.5235988F); + EmitterClamp7 = new ModelRenderer(this, 92, 22); + EmitterClamp7.addBox(-6F, 0F, 0F, 7, 1, 1); + EmitterClamp7.setRotationPoint(-53F, 1.5F, -6F); + EmitterClamp7.setTextureSize(64, 32); + EmitterClamp7.mirror = true; + setRotation(EmitterClamp7, 0F, 0.5235988F, 0F); + EmitterClamp8 = new ModelRenderer(this, 92, 20); + EmitterClamp8.addBox(-6F, 0F, -1F, 7, 1, 1); + EmitterClamp8.setRotationPoint(-53F, 1.5F, 6F); + EmitterClamp8.setTextureSize(64, 32); + EmitterClamp8.mirror = true; + setRotation(EmitterClamp8, 0F, -0.5235988F, 0F); + PowBox = new ModelRenderer(this, 76, 11); + PowBox.addBox(0F, 0F, 0F, 10, 5, 4); + PowBox.setRotationPoint(4F, 2F, 2.5F); + PowBox.setTextureSize(64, 32); + PowBox.mirror = true; + setRotation(PowBox, 0F, 0F, 0F); + PowPanel = new ModelRenderer(this, 44, 24); + PowPanel.addBox(0F, 0F, 0F, 9, 4, 1); + PowPanel.setRotationPoint(4.5F, 2.5F, 6F); + PowPanel.setTextureSize(64, 32); + PowPanel.mirror = true; + setRotation(PowPanel, 0F, 0F, 0F); + Nix1 = new ModelRenderer(this, 56, 17); + Nix1.addBox(0F, 0F, 0F, 2, 5, 2); + Nix1.setRotationPoint(11F, -3F, 4F); + Nix1.setTextureSize(64, 32); + Nix1.mirror = true; + setRotation(Nix1, 0F, 0F, 0F); + Nix2 = new ModelRenderer(this, 48, 17); + Nix2.addBox(0F, 0F, 0F, 2, 5, 2); + Nix2.setRotationPoint(8F, -3F, 4F); + Nix2.setTextureSize(64, 32); + Nix2.mirror = true; + setRotation(Nix2, 0F, 0F, 0F); + Nix3 = new ModelRenderer(this, 40, 17); + Nix3.addBox(0F, 0F, 0F, 2, 5, 2); + Nix3.setRotationPoint(5F, -3F, 4F); + Nix3.setTextureSize(64, 32); + Nix3.mirror = true; + setRotation(Nix3, 0F, 0F, 0F); + Nix11 = new ModelRenderer(this, 72, 15); + Nix11.addBox(0F, 0F, 0F, 1, 2, 1); + Nix11.setRotationPoint(11.5F, -5F, 4.5F); + Nix11.setTextureSize(64, 32); + Nix11.mirror = true; + setRotation(Nix11, 0F, 0F, 0F); + Nix21 = new ModelRenderer(this, 68, 15); + Nix21.addBox(0F, 0F, 0F, 1, 2, 1); + Nix21.setRotationPoint(8.5F, -5F, 4.5F); + Nix21.setTextureSize(64, 32); + Nix21.mirror = true; + setRotation(Nix21, 0F, 0F, 0F); + Nix31 = new ModelRenderer(this, 64, 15); + Nix31.addBox(0F, 0F, 0F, 1, 2, 1); + Nix31.setRotationPoint(5.5F, -5F, 4.5F); + Nix31.setTextureSize(64, 32); + Nix31.mirror = true; + setRotation(Nix31, 0F, 0F, 0F); + Nix12 = new ModelRenderer(this, 72, 10); + Nix12.addBox(0F, 0F, 0F, 1, 4, 1); + Nix12.setRotationPoint(11.5F, -1.5F, 4.5F); + Nix12.setTextureSize(64, 32); + Nix12.mirror = true; + setRotation(Nix12, 0F, 0F, 0F); + Nix22 = new ModelRenderer(this, 68, 10); + Nix22.addBox(0F, 0F, 0F, 1, 4, 1); + Nix22.setRotationPoint(8.5F, -1.5F, 4.5F); + Nix22.setTextureSize(64, 32); + Nix22.mirror = true; + setRotation(Nix22, 0F, 0F, 0F); + Nix32 = new ModelRenderer(this, 64, 10); + Nix32.addBox(0F, 0F, 0F, 1, 4, 1); + Nix32.setRotationPoint(5.5F, -1.5F, 4.5F); + Nix32.setTextureSize(64, 32); + Nix32.mirror = true; + setRotation(Nix32, 0F, 0F, 0F); + Pylon = new ModelRenderer(this, 114, 24); + Pylon.addBox(0F, 0F, 0F, 2, 2, 4); + Pylon.setRotationPoint(-35F, 1F, 3.5F); + Pylon.setTextureSize(64, 32); + Pylon.mirror = true; + setRotation(Pylon, 0F, 0F, 0F); + Wire1 = new ModelRenderer(this, 82, 0); + Wire1.addBox(0F, 0F, 0F, 20, 0, 3); + Wire1.setRotationPoint(-24F, 7F, 4F); + Wire1.setTextureSize(64, 32); + Wire1.mirror = true; + setRotation(Wire1, 0F, 0F, 0F); + Wire2 = new ModelRenderer(this, 104, 3); + Wire2.addBox(0F, 0F, 0F, 9, 0, 3); + Wire2.setRotationPoint(-4F, 7F, 4F); + Wire2.setTextureSize(64, 32); + Wire2.mirror = true; + setRotation(Wire2, 0F, 0F, -0.4363323F); + Wire3 = new ModelRenderer(this, 100, 6); + Wire3.addBox(-11F, 0F, 0F, 11, 0, 3); + Wire3.setRotationPoint(-24F, 7F, 4F); + Wire3.setTextureSize(64, 32); + Wire3.mirror = true; + setRotation(Wire3, 0F, 0F, 0.4363323F); + PowPylon = new ModelRenderer(this, 108, 17); + PowPylon.addBox(0F, 0F, 0F, 2, 2, 5); + PowPylon.setRotationPoint(2.5F, 3F, 2.5F); + PowPylon.setTextureSize(64, 32); + PowPylon.mirror = true; + setRotation(PowPylon, 0F, 0F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Muzzle1.render(f5); + Barrel1.render(f5); + Barrel2.render(f5); + Grip.render(f5); + Front1.render(f5); + Front2.render(f5); + Body.render(f5); + Top.render(f5); + GripBottom.render(f5); + Handle.render(f5); + HandleBack.render(f5); + Frame1.render(f5); + Frame2.render(f5); + Frame3.render(f5); + Trigger.render(f5); + BackPlate1.render(f5); + Back.render(f5); + BackPlate2.render(f5); + Pump1.render(f5); + Pump2.render(f5); + BodyPlate.render(f5); + Muz1.render(f5); + Muz2.render(f5); + Muz3.render(f5); + Damp1.render(f5); + Damp2.render(f5); + Damp3.render(f5); + DampFront.render(f5); + EmitterRod.render(f5); + EmitterCrystal.render(f5); + EmitterClamp1.render(f5); + EmitterClamp2.render(f5); + EmitterClamp3.render(f5); + EmitterClamp4.render(f5); + EmitterClamp5.render(f5); + EmitterClamp6.render(f5); + EmitterClamp7.render(f5); + EmitterClamp8.render(f5); + PowBox.render(f5); + PowPanel.render(f5); + Nix1.render(f5); + Nix2.render(f5); + Nix3.render(f5); + Nix11.render(f5); + Nix21.render(f5); + Nix31.render(f5); + Nix12.render(f5); + Nix22.render(f5); + Nix32.render(f5); + Pylon.render(f5); + Wire1.render(f5); + Wire2.render(f5); + Wire3.render(f5); + PowPylon.render(f5); + } + + public void renderAnim(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, float tran) { + + Pump1.offsetX += tran; + Pump2.offsetX += tran; + + render(entity, f, f1, f2, f3, f4, f5); + + Pump1.offsetX -= tran; + Pump2.offsetX -= tran; + } + + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/com/hbm/tileentity/machine/TileEntityMachineBattery.java b/com/hbm/tileentity/machine/TileEntityMachineBattery.java index ec2c0fe6e..d488e9813 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineBattery.java +++ b/com/hbm/tileentity/machine/TileEntityMachineBattery.java @@ -22,7 +22,7 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent private ItemStack slots[]; public long power = 0; - public final long maxPower = 1000000; + public long maxPower = 1000000; public boolean conducts = false; @@ -37,6 +37,11 @@ public class TileEntityMachineBattery extends TileEntity implements ISidedInvent public TileEntityMachineBattery() { slots = new ItemStack[2]; } + + public TileEntityMachineBattery(long maxPower) { + slots = new ItemStack[2]; + this.maxPower = maxPower; + } @Override public int getSizeInventory() { diff --git a/com/hbm/tileentity/machine/TileEntityMachineRadar.java b/com/hbm/tileentity/machine/TileEntityMachineRadar.java index f3a6d1b0e..f6fd0fe60 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineRadar.java +++ b/com/hbm/tileentity/machine/TileEntityMachineRadar.java @@ -16,6 +16,7 @@ import com.hbm.packet.TERadarPacket; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -103,7 +104,7 @@ public class TileEntityMachineRadar extends TileEntity implements IConsumer { continue; }*/ - if(!(e instanceof EntityMissileBaseAdvanced) && e.width * e.width * e.height >= 0.5D && e.posY >= yCoord + MainRegistry.radarBuffer) { + if(e instanceof EntityPlayer && e.posY >= yCoord + MainRegistry.radarBuffer) { nearbyMissiles.add(new int[] { (int)e.posX, (int)e.posZ, 5, (int)e.posY }); } } diff --git a/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java b/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java index 31d331f7f..736f3cdee 100644 --- a/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java +++ b/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java @@ -4,6 +4,8 @@ import java.util.List; import com.hbm.interfaces.IConsumer; import com.hbm.lib.ModDamageSource; +import com.hbm.packet.AuxElectricityPacket; +import com.hbm.packet.PacketDispatcher; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; @@ -62,6 +64,8 @@ public class TileEntityMachineTeleporter extends TileEntity implements IConsumer b0 = true; } } + + PacketDispatcher.wrapper.sendToAll(new AuxElectricityPacket(xCoord, yCoord, zCoord, power)); } if(b0)