mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-12-22 19:39:24 +01:00
*Actually* fixed Item Laser Relays leaving phantom connections behind
This commit is contained in:
parent
f7f68e4f16
commit
6955188d7b
1 changed files with 29 additions and 15 deletions
|
@ -75,32 +75,46 @@ public class TileEntityItemViewer extends TileEntityInventoryBase{
|
|||
}
|
||||
|
||||
private void queryAndSaveData(){
|
||||
this.genericInfos.clear();
|
||||
this.specificInfos.clear();
|
||||
|
||||
if(this.connectedRelay != null){
|
||||
Network network = ActuallyAdditionsAPI.connectionHandler.getNetworkFor(this.connectedRelay.getPos(), this.worldObj);
|
||||
if(network != null && (this.oldNetwork != network || this.lastNetworkChangeAmount != network.changeAmount)){
|
||||
if(network != null){
|
||||
if(this.oldNetwork != network || this.lastNetworkChangeAmount != network.changeAmount){
|
||||
this.clearInfos();
|
||||
|
||||
this.connectedRelay.getItemHandlersInNetwork(network, this.genericInfos);
|
||||
if(!this.genericInfos.isEmpty()){
|
||||
Collections.sort(this.genericInfos);
|
||||
this.connectedRelay.getItemHandlersInNetwork(network, this.genericInfos);
|
||||
if(!this.genericInfos.isEmpty()){
|
||||
Collections.sort(this.genericInfos);
|
||||
|
||||
int slotsQueried = 0;
|
||||
for(GenericItemHandlerInfo info : this.genericInfos){
|
||||
for(IItemHandler handler : info.handlers){
|
||||
for(int i = 0; i < handler.getSlots(); i++){
|
||||
this.specificInfos.put(slotsQueried, new SpecificItemHandlerInfo(handler, i, info.relayInQuestion));
|
||||
slotsQueried++;
|
||||
int slotsQueried = 0;
|
||||
for(GenericItemHandlerInfo info : this.genericInfos){
|
||||
for(IItemHandler handler : info.handlers){
|
||||
for(int i = 0; i < handler.getSlots(); i++){
|
||||
this.specificInfos.put(slotsQueried, new SpecificItemHandlerInfo(handler, i, info.relayInQuestion));
|
||||
slotsQueried++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.oldNetwork = network;
|
||||
this.lastNetworkChangeAmount = network.changeAmount;
|
||||
}
|
||||
|
||||
this.oldNetwork = network;
|
||||
this.lastNetworkChangeAmount = network.changeAmount;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.clearInfos();
|
||||
}
|
||||
|
||||
private void clearInfos(){
|
||||
if(!this.genericInfos.isEmpty()){
|
||||
this.genericInfos.clear();
|
||||
}
|
||||
|
||||
if(!this.specificInfos.isEmpty()){
|
||||
this.specificInfos.clear();
|
||||
}
|
||||
}
|
||||
|
||||
private SpecificItemHandlerInfo getSwitchedIndexHandler(int i){
|
||||
|
|
Loading…
Reference in a new issue