Fixed core inventory persistence bug

This commit is contained in:
Anuken 2019-04-14 10:18:18 -04:00
parent d1ec652f7b
commit 084ae184f9
4 changed files with 5 additions and 15 deletions

View File

@ -50,7 +50,7 @@ public class Mechs implements ContentList{
@Override
public void updateAlt(Player player){
player.healBy(Time.delta() * 0.1f);
player.healBy(Time.delta() * 0.09f);
}
@Override

View File

@ -93,6 +93,7 @@ public class NetClient implements ApplicationListener{
Net.handleClient(Disconnect.class, packet -> {
state.set(State.menu);
connecting = false;
logic.reset();
Platform.instance.updateRPC();
if(quiet) return;

View File

@ -292,6 +292,7 @@ public class JoinDialog extends FloatingDialog{
});
Time.runTask(2f, () -> {
logic.reset();
Vars.netClient.beginConnecting();
Net.connect(ip, port, () -> {
hide();

View File

@ -9,11 +9,8 @@ import java.util.Arrays;
import static io.anuke.mindustry.Vars.content;
public class ItemModule extends BlockModule{
private static int lastID;
private int[] items = new int[content.items().size];
private int total;
private int id = lastID++;
public void forEach(ItemConsumer cons){
for(int i = 0; i < items.length; i++){
@ -119,8 +116,6 @@ public class ItemModule extends BlockModule{
@Override
public void write(DataOutput stream) throws IOException{
stream.writeInt(id); //unique ID
byte amount = 0;
for(int item : items){
if(item > 0) amount++;
@ -138,7 +133,8 @@ public class ItemModule extends BlockModule{
@Override
public void read(DataInput stream) throws IOException{
id = stream.readInt();
//just in case, reset items
Arrays.fill(items, 0);
byte count = stream.readByte();
total = 0;
@ -150,14 +146,6 @@ public class ItemModule extends BlockModule{
}
}
public int getID(){
return id;
}
public void setID(int id){
this.id = id;
}
public interface ItemConsumer{
void accept(Item item, float amount);
}