mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
fixed drones not placing themselves back properly
This commit is contained in:
parent
f868048b1e
commit
205b537318
@ -160,23 +160,34 @@ public class EntityRequestDrone extends EntityDroneBase {
|
|||||||
TileEntityDroneDock dock = (TileEntityDroneDock) tile;
|
TileEntityDroneDock dock = (TileEntityDroneDock) tile;
|
||||||
ItemStack drone = new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal());
|
ItemStack drone = new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal());
|
||||||
for (int i = 0; i < dock.slots.length; i++) {
|
for (int i = 0; i < dock.slots.length; i++) {
|
||||||
if (dock.slots[i] == null || (dock.slots[i].isItemEqual(drone) && dock.slots[i].stackSize < 64)) {
|
if (dock.slots[i] == null) {
|
||||||
this.setDead();
|
this.setDead();
|
||||||
if(heldItem != null){
|
if(heldItem != null){
|
||||||
if(i != 9 && dock.slots[i + 1] != null){
|
if(i != 9 && dock.slots[i + 1] == null){
|
||||||
dock.slots[i + 1] = heldItem.copy();
|
dock.slots[i + 1] = heldItem.copy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dock.slots[i] = drone.copy();
|
dock.slots[i] = drone.copy();
|
||||||
this.worldObj.playSoundEffect(dock.xCoord + 0.5, dock.yCoord + 0.5, dock.zCoord + 0.5, "hbm:block.storageClose", 2.0F, 1.0F);
|
this.worldObj.playSoundEffect(dock.xCoord + 0.5, dock.yCoord + 0.5, dock.zCoord + 0.5, "hbm:block.storageClose", 2.0F, 1.0F);
|
||||||
break;
|
break;
|
||||||
|
} else if (dock.slots[i].isItemEqual(drone) && dock.slots[i].stackSize < 64){
|
||||||
|
this.setDead();
|
||||||
|
if(heldItem != null){
|
||||||
|
if(i != 9 && dock.slots[i + 1] == null){
|
||||||
|
dock.slots[i + 1] = heldItem.copy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dock.slots[i].stackSize++;
|
||||||
|
this.worldObj.playSoundEffect(dock.xCoord + 0.5, dock.yCoord + 0.5, dock.zCoord + 0.5, "hbm:block.storageClose", 2.0F, 1.0F);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!this.isDead) {
|
if (!this.isDead) {
|
||||||
this.setDead();
|
this.setDead();
|
||||||
this.entityDropItem(heldItem, 1F);
|
if(heldItem != null)
|
||||||
|
this.entityDropItem(heldItem, 1F);
|
||||||
this.entityDropItem(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), 1F);
|
this.entityDropItem(new ItemStack(ModItems.drone, 1, EnumDroneType.REQUEST.ordinal()), 1F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -108,6 +108,7 @@ public class RequestNetwork {
|
|||||||
/** Node created by requesters, lists requested AStacks */
|
/** Node created by requesters, lists requested AStacks */
|
||||||
public static class RequestNode extends PathNode {
|
public static class RequestNode extends PathNode {
|
||||||
public List<AStack> request;
|
public List<AStack> request;
|
||||||
|
public int droneCount;
|
||||||
public RequestNode(BlockPos pos, HashedSet<PathNode> reachableNodes, List<AStack> request) {
|
public RequestNode(BlockPos pos, HashedSet<PathNode> reachableNodes, List<AStack> request) {
|
||||||
super(pos, reachableNodes);
|
super(pos, reachableNodes);
|
||||||
this.request = request;
|
this.request = request;
|
||||||
|
|||||||
@ -43,7 +43,7 @@ public class TileEntityDroneDock extends TileEntityRequestNetworkContainer imple
|
|||||||
public void updateEntity() {
|
public void updateEntity() {
|
||||||
super.updateEntity();
|
super.updateEntity();
|
||||||
|
|
||||||
if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 100 == 0 && this.hasDrone()) {
|
if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 20 == 0 && this.hasDrone()) {
|
||||||
|
|
||||||
// grab all nodes in a 5 chunk radius
|
// grab all nodes in a 5 chunk radius
|
||||||
HashedSet<PathNode> localNodes = this.getAllLocalNodes(worldObj, xCoord, zCoord, 5);
|
HashedSet<PathNode> localNodes = this.getAllLocalNodes(worldObj, xCoord, zCoord, 5);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user