Fixed core inventory persistence bug
This commit is contained in:
@@ -50,7 +50,7 @@ public class Mechs implements ContentList{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAlt(Player player){
|
public void updateAlt(Player player){
|
||||||
player.healBy(Time.delta() * 0.1f);
|
player.healBy(Time.delta() * 0.09f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
Net.handleClient(Disconnect.class, packet -> {
|
Net.handleClient(Disconnect.class, packet -> {
|
||||||
state.set(State.menu);
|
state.set(State.menu);
|
||||||
connecting = false;
|
connecting = false;
|
||||||
|
logic.reset();
|
||||||
Platform.instance.updateRPC();
|
Platform.instance.updateRPC();
|
||||||
|
|
||||||
if(quiet) return;
|
if(quiet) return;
|
||||||
|
|||||||
@@ -292,6 +292,7 @@ public class JoinDialog extends FloatingDialog{
|
|||||||
});
|
});
|
||||||
|
|
||||||
Time.runTask(2f, () -> {
|
Time.runTask(2f, () -> {
|
||||||
|
logic.reset();
|
||||||
Vars.netClient.beginConnecting();
|
Vars.netClient.beginConnecting();
|
||||||
Net.connect(ip, port, () -> {
|
Net.connect(ip, port, () -> {
|
||||||
hide();
|
hide();
|
||||||
|
|||||||
@@ -9,11 +9,8 @@ import java.util.Arrays;
|
|||||||
import static io.anuke.mindustry.Vars.content;
|
import static io.anuke.mindustry.Vars.content;
|
||||||
|
|
||||||
public class ItemModule extends BlockModule{
|
public class ItemModule extends BlockModule{
|
||||||
private static int lastID;
|
|
||||||
|
|
||||||
private int[] items = new int[content.items().size];
|
private int[] items = new int[content.items().size];
|
||||||
private int total;
|
private int total;
|
||||||
private int id = lastID++;
|
|
||||||
|
|
||||||
public void forEach(ItemConsumer cons){
|
public void forEach(ItemConsumer cons){
|
||||||
for(int i = 0; i < items.length; i++){
|
for(int i = 0; i < items.length; i++){
|
||||||
@@ -119,8 +116,6 @@ public class ItemModule extends BlockModule{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(DataOutput stream) throws IOException{
|
public void write(DataOutput stream) throws IOException{
|
||||||
stream.writeInt(id); //unique ID
|
|
||||||
|
|
||||||
byte amount = 0;
|
byte amount = 0;
|
||||||
for(int item : items){
|
for(int item : items){
|
||||||
if(item > 0) amount++;
|
if(item > 0) amount++;
|
||||||
@@ -138,7 +133,8 @@ public class ItemModule extends BlockModule{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void read(DataInput stream) throws IOException{
|
public void read(DataInput stream) throws IOException{
|
||||||
id = stream.readInt();
|
//just in case, reset items
|
||||||
|
Arrays.fill(items, 0);
|
||||||
byte count = stream.readByte();
|
byte count = stream.readByte();
|
||||||
total = 0;
|
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{
|
public interface ItemConsumer{
|
||||||
void accept(Item item, float amount);
|
void accept(Item item, float amount);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user