From 89eda12200f8f368f437e7cdabe66f3d9c1a8ebb Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Tue, 22 Oct 2013 11:08:28 -0400 Subject: [PATCH] Got more things working! --- .../RenderLogisticalTransporter.java | 2 +- .../common/TransporterPathfinder.java | 4 +- common/mekanism/common/TransporterStack.java | 14 ++- .../common/item/ItemConfigurator.java | 7 -- .../TileEntityLogisticalTransporter.java | 91 ++++++++++++------ .../render/LogisticalTransporterActive.png | Bin 6404 -> 0 bytes 6 files changed, 76 insertions(+), 42 deletions(-) delete mode 100644 resources/assets/mekanism/render/LogisticalTransporterActive.png diff --git a/common/mekanism/client/render/tileentity/RenderLogisticalTransporter.java b/common/mekanism/client/render/tileentity/RenderLogisticalTransporter.java index 181af6528..4326a2c57 100644 --- a/common/mekanism/client/render/tileentity/RenderLogisticalTransporter.java +++ b/common/mekanism/client/render/tileentity/RenderLogisticalTransporter.java @@ -35,7 +35,7 @@ public class RenderLogisticalTransporter extends TileEntitySpecialRenderer public void renderAModelAt(TileEntityLogisticalTransporter tileEntity, double x, double y, double z, float partialTick) { - bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalTransporter" + (tileEntity.isActive ? "Active" : "") + ".png")); + bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "LogisticalTransporter.png")); GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); GL11.glScalef(1.0F, -1F, -1F); diff --git a/common/mekanism/common/TransporterPathfinder.java b/common/mekanism/common/TransporterPathfinder.java index 2a99fcb05..f0a8cf992 100644 --- a/common/mekanism/common/TransporterPathfinder.java +++ b/common/mekanism/common/TransporterPathfinder.java @@ -294,7 +294,7 @@ public final class TransporterPathfinder return p.getPath(); } - public static List getIdlePath(TileEntityLogisticalTransporter start, Object3D home, Object3D prevHome) + public static List getIdlePath(TileEntityLogisticalTransporter start) { IdleDest d = new IdleDest(start.worldObj, start); Object3D farthest = d.find(); @@ -304,7 +304,7 @@ public final class TransporterPathfinder return null; } - Path p = new Path(start.worldObj, prevHome, Object3D.get(start), null); + Path p = new Path(start.worldObj, farthest, Object3D.get(start), null); return p.getPath(); } } diff --git a/common/mekanism/common/TransporterStack.java b/common/mekanism/common/TransporterStack.java index ffe0fa459..576cd6891 100644 --- a/common/mekanism/common/TransporterStack.java +++ b/common/mekanism/common/TransporterStack.java @@ -28,6 +28,8 @@ public class TransporterStack public boolean noTarget = false; + public boolean clientFirstTick = true; + public void write(TileEntityLogisticalTransporter tileEntity, ArrayList data) { data.add(progress); @@ -72,7 +74,7 @@ public class TransporterStack itemStack.writeToNBT(nbtTags); } - public void read(NBTTagCompound nbtTags) + public void readFromNBT(NBTTagCompound nbtTags) { progress = nbtTags.getInteger("progress"); originalLocation = Object3D.read(nbtTags); @@ -80,6 +82,14 @@ public class TransporterStack itemStack = ItemStack.loadItemStackFromNBT(nbtTags); } + public static TransporterStack read(NBTTagCompound nbtTags) + { + TransporterStack stack = new TransporterStack(); + stack.readFromNBT(nbtTags); + + return stack; + } + public boolean hasPath() { return pathToTarget != null; @@ -104,7 +114,7 @@ public class TransporterStack public void calculateIdle(TileEntityLogisticalTransporter tileEntity) { - pathToTarget = TransporterPathfinder.getIdlePath(tileEntity, originalLocation, pathToTarget.get(pathToTarget.size()-1)); + pathToTarget = TransporterPathfinder.getIdlePath(tileEntity); noTarget = true; originalLocation = Object3D.get(tileEntity); initiatedPath = true; diff --git a/common/mekanism/common/item/ItemConfigurator.java b/common/mekanism/common/item/ItemConfigurator.java index ad4c4eeee..cfb0c7ee9 100644 --- a/common/mekanism/common/item/ItemConfigurator.java +++ b/common/mekanism/common/item/ItemConfigurator.java @@ -59,13 +59,6 @@ public class ItemConfigurator extends ItemEnergized PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTileEntity().setParams(Object3D.get(tileEntity), tileEntity.getNetworkedData(new ArrayList()))); return true; } - else if(world.getBlockTileEntity(x, y, z) instanceof TileEntityLogisticalTransporter) - { - TileEntityLogisticalTransporter tileEntity = (TileEntityLogisticalTransporter)world.getBlockTileEntity(x, y, z); - tileEntity.isActive = !tileEntity.isActive; - PacketHandler.sendPacket(Transmission.ALL_CLIENTS, new PacketTileEntity().setParams(Object3D.get(tileEntity), tileEntity.getNetworkedData(new ArrayList()))); - return true; - } else if(world.getBlockTileEntity(x, y, z) instanceof TileEntityElectricPump) { TileEntityElectricPump tileEntity = (TileEntityElectricPump)world.getBlockTileEntity(x, y, z); diff --git a/common/mekanism/common/tileentity/TileEntityLogisticalTransporter.java b/common/mekanism/common/tileentity/TileEntityLogisticalTransporter.java index 586ca51df..9fd838d56 100644 --- a/common/mekanism/common/tileentity/TileEntityLogisticalTransporter.java +++ b/common/mekanism/common/tileentity/TileEntityLogisticalTransporter.java @@ -18,6 +18,7 @@ import mekanism.common.util.TransporterUtils; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.ForgeDirection; @@ -29,16 +30,27 @@ import cpw.mods.fml.relauncher.SideOnly; public class TileEntityLogisticalTransporter extends TileEntityTransmitter implements ITileNetwork { - /** This transporter's active state. */ - public boolean isActive = false; - public Set transit = new HashSet(); + public boolean needsSync = false; + @Override public void updateEntity() { - if(!worldObj.isRemote) + if(worldObj.isRemote) { + for(TransporterStack stack : transit) + { + if(stack.clientFirstTick) + { + stack.clientFirstTick = false; + } + else { + stack.progress++; + } + } + } + else { Set remove = new HashSet(); for(TransporterStack stack : transit) @@ -66,6 +78,7 @@ public class TileEntityLogisticalTransporter extends TileEntityTransmitterTg0!F@2m+ytC?LHPsvuINhy@58>C(Yaf+7frG$jI3Y!neGLg+Re7D7;}kPxIpAZ+~YcmLRbch8en}c>(}L+}psw%GAIBZWSEp>FwtM0BT(K?TCSRTW+1?KY`8CZ&9?va`9_B*0(!g~>GgHTlxX*T2WliqC1NCYK8^<9}n{Sfb)pnGQgR2?kCR zEfIDmSJcFIXPv1{(%CnrCa9$@P7z5mqutMza91gtE{CmsoH|i`QFGA=Z>Wv*uFpGV z_aLX@UBQ6(lkC!yj|pL#{foG?G<)>f@6i3cnrCDr?b=*mv z`kpLm*%`ni7;|cu?Mm;6FV>8^gPFSP-M}=pae8f71p=-BV`82ikNn;(rEMXi%kpUO z>Fyn+eRF7Lv~FExYZ+tTkcO(_i<9eS_Pzn{%JnAS`A z>6G3h?ceg`<6~hQM|1e|Q@E3tzI^{J8CU6f$BS!noUx^lcQT`hFhmMv;)@#BZPk!l zU^gmbwdYB_Y=j}WDv zKHHt}u$H&&{EI8EHM^^BcYLk6rfV|+IuLe!Pm&k#I`OJnbv&O0HT$6PfrIf_u)hY+ z+2NQoTN|yGVYVkVEUeZK5HV*STn@bCAf(-QNl&15#kEC(+r-6WrYGoQE>raGik z>g%gZ;?VlW)Uw-8Zuj*KJqX%JBc%Fwt5gSk!G7Ewuc|qJ;BO7qbiR|4^ZeUd_(zsV zF+pty(69viO5n`(!Aa}MnwPJa_u>b|BtPi(==2UX{TzHldqFD?C_|R9EB zh{v3bkvTjQBNZcecsV8Xdb8-ExZ{)dOj$2iXQ;&|(aZ;`T;jm00H|yiDkQw?NG3dFZ9@ZAM<+D`9BaoB~A&Z0;aJqwx1I! zLQh`D7iE`NtMq&s-xMnicX&3RlM<;>m?CA8Oi8uu>i(q&ZYXTsb=sAzE@9ZBWuK7O z(3tT*cUhuG@mGOH&{d<&W1;zjeU7nAM2;7x72%^Q-+1gNs@_ydvqXPuRB-%pF^Q*7 ziDzK`j7mgf+sD+G;_dfDA1&!kQ`?Qg32gqWHw}}HK5DL9y>+wfL<||W)xkfRxMmT( zp!gz{d8@hY*Wyc)Ii^e-jcOuQ@VD77LTJPHNc4`~fRv%8uqyx2J5_#7r0CJf?;abv z*MXo&KLME&0KlDZYN%%$2_hHtJt7(Nbo)1;JXg(U&K{FF`G7tDq2bA5xUqXSdthfu zM7$PjD>;K76LhaHr(!T`3)s>Z+4`d7*;bXE6 z{EK~keeteChWw=9rgH+Xlnxdb7p(zzx9d`A(~{mJ>zVH4wmVyIa^w`B93|EwFMPF! zLW~fOz+A6f(P!5h-$s2a{`X3EOoJCN;!*0K%sxFy-vs8W@*PkCPFUfg_M19U&;)(D z0OYZ@&CxC;?oMZD)A(pzNA&f=d1e8?Yzpu)n5@2OiHAi_%w^^<6xl^R=ntnii+a{nX@YPk37?HzsAlMu(d*TGjPrxkJ{_*AH@DV+7i|^(`k>r6uWt+F#1o+ z3+{L~LKqj&bYSI$`K#$4(gF8GgEQQXr;3}n3(9UbtFxFu@{n;IFTUAPj26X66QS;}^R z;Ekn9tzI|beRarklJJ3aX1cid!H*7)FM9)%H_u<4&m}Gt^o38n+vY+G>bFBK(Y@_- zc^1QTw#cW}%L~7Dv{!_*x2Lq@aq$H3#%Cu=2aUE;0NfhC2)r5D6B4CIpm8;_igtS3 z-u`-&w+rLXXEBq0+4;hhNan5j;`P|d3uY6l|tkV-4M;)mD{)6U|3^bnmnq-7% zW1cD8tJr z9q#;g)hyeYSfpTzJsfTJ7w~~uW2*R@@!i-Jw>VSI8NRDI%zu+K$8)X96i9f9A0!-H z7#-VK31&m!+69qnS9NeAGn#)Lb>T$hr24^BZZxD&uqS)v&Q9{ywKYi3k~v6z;p+fd!emO+94_xUo0gdT1A*xFL&nGc94{t%;0|o(kLZINdHU zc1WbssPnW!-Qrklzb)EE-*{0pwXpXmirU~s3RxsK*r3eV z$;wRym17HpNwf4~ALMA<;a2z@ax}To(IC#SXov-|xITtnQ9iTJ|#8xwL;r~Mje?wrsi<}=$jAp85FU7SU25*nl$zfx#fhb;HZDV)1 zx%9-M%;R3SZ~#2-2zVPNt(IS!r6>k=kaOHRXzx9nRC3bihq*7}8N4S;R+@XYo=DFs z-SGa?YO>z6DuK?S)QtDd!Os0OnCIyFKjP76+a81 zchZg`^VKYVR4HqMGVaypktR9@S`UqGJoZwrsdPc|XYlX|lUa+*q)N2?Qaa~nhvx{e z6$NS?9`?mSAb);&#xjOLZeA!7!o1nOpQcjuE=<@*_u@{Hf@X@~G=5Mxq}?fSpnp3_ z_1#yUjcuuk)&srtX9dcn#RWovt38f3x=4No;is_*)15D~v0`Vf3pNIFJQ#dXl~Mhd zTLj#0W+_>*Q?XZ;CyB=%CLZNj+CV>15>$TBx-^Pf06xrCAH|kD;YwUmL5UFkQYXUK)XSfYO#Li_gdv^Ao5IoMPaGuzIA5 zRY*bXo6OA`WaU^5#gSZuTfEj3gRz$~`t7?iNE`CC_Ai!P^GA6m9XyP>t`3c4LvMoj z`|%Wd!Si5u=_voRQy=IlqqQ5IP-%dqn)~^k(mC3S$&gi6w7g&VO$af3xJ1^Q_MeW$ zw+zvN#UH-H^qlkd4vAgU_)~n1~|svhh;|4M=1E*DeErz3FPB zTizeY8Yt8`<+17X)T7+z<8`fq4Jt3&6_gvHiO;qqI#h@i6vk?mS5(<~2S?&lTmrd@ ziQG(HYM;`d;uFB%j1kzVsQ>XzYfoysuYk4Y$aP)eXGeX9623ppG9=`y$hOC0>bKrg z&XU?^a9PujLVtg5Z}oL{6S|vKgwWFM@HG`6!i47F|93~?H(#dfoSmD` zTW2CtsZ_mbySRu5`v=-lf6By3W9j8*i;|L(j29Xj8oEj!$(64U>$F>Z?hfi}Ij0R! z^b~*ZImiK2(MXS zMblgeAP?r5HXCA&stsTRca^GoR58NMhuxcQY$XoT%T$~3h^_KgSl30tAPU$vef3E& zXY-j9_retpH*TXwhWM`12?EOvMz;r#LR1E0RcVvKYIRx_Ce5_t$X=oop7Pj7RP=pY`hcdNyI<@0PX4sbDKTWS93?5g;vRJ)Mx~*s{aOYQ~?1f*$hRf@Jyw?LBgzbZ8E_{k! zKyl7)ins>6ip+O?kRE<}gb~pK&fB&ZXqL;1rcO%g#IWS$hYA$|`(w1n_gS6^C0iO~ zNWzMkD6Q9C-@!Nujr`F#wWECT=YY#gbvC2u{$#{BzRU^S^RhV4G$f&Q6W>_nlqgwz z0-HR*g5Y|4l?U*TZRZ5P&W*AVoiU6q5q79zEFL5~mtCxaMrUO1mI>>(v6{4XaFEgf z2G|1(dQ2M~`N_CXM4k-6e*^m?4ue8BKE1TOsqEsB%_3$54VtnZ--qyRFXCQo#(~OGu|9*#|y}vM4!R3$9?cwg_ z2FH6JM*t=Nz+mVr@-|SqC;)ou>9BST{1S!$j6Yl!fjyO^1=teeZ`+9TkZB-oPQUldd8@h- zjLemtvJjZw4qGTC)dxRH6M^y3CDcZp{Xf-d`7>Zz-`=dW54W4x#mz4eK$9E0oQFd9 z+G#1e3iZvKuU07(<|cW*U;Pz8Sm>p24F)(HjwWlDLKT z{(3rEfMKlT9z*a`G01<|U)T(={qPr*QE1=OJc*Ic$@ZA~yehy8-InN~VZ^F) zHw71PLEcvsz=PnE`4$fmDm_n^y3Q)U(}Z?5w!S=T9zc|}r>rjAvehwHPoUnu?<9Pu zkkVqks)ws2M7`7OwdH1mY^$?zp>;O3h^iPNCBm(Nm*WF5kYZuoqn)d#O>l~Y_Z>%T za!3Zq%=(2}n{a!QzSrJ4)84S=t2ead>MpxQz`@W?1iZfYEjRObm5Q*ezD*|ZdJ{z( z&<+~WaGIPn0w#~M`cYk}sESS>W!tdLuAnoV)JZ*H|M+HfoT3%Q|C?9)j=XHT5U4Sl zZLL@={zrr^FQrkl0=1%xe46uzCdqGIQ=S25%C=w><8^j;Zj+Wu|+Uf=1%lLQyExZ6}B)P%qXr_~Ct+1NlyT+XoDoGh$x7$<#W{AUOOY-dyh z;6HSJ{z_I>zTYWC=jZgps#q52Wl_6xSsDiR z`g;p79~^~MtbJZEjmqiE+VXT~=m>>GhN#Ld*Yy9B9j&MxA0ws(-0*!MX z1fRCrif><#vZ`rFl+e+0qFXVU!f_l4AB_JS>}@B2ctD1QgvWP2`d9FoX7W2)Ox78} zg3vW5G{@jLBltONMjdS>YN}0_0l9%gyW{m zpm+{?;`}os0?GLq(B7x(r=F zya<#~+<#uq-&|f5{mM%>itbA~q}V|4Ciz!>N9Eb>FRbaDGH9|I);;2A)KHU23bd%-BbS-+FM1T{pD mK3tM+?*FU#FZkw&`BIY@jG=3To&I+NFg3C;e5dbx_ul|oDyaAX