Crash fix / Cleanup

This commit is contained in:
Anuken
2018-09-03 17:04:11 -04:00
parent e0a94f694b
commit 6c5eff1143
6 changed files with 6 additions and 88 deletions

View File

@@ -255,9 +255,9 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{
if(health <= 0){
onDeath();
}
Block previous = tile.block();
tile.block().update(tile);
if(cons != null){
if(tile.block() == previous && cons != null){
cons.update(this);
}
}

View File

@@ -3,7 +3,6 @@ package io.anuke.mindustry.net;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.IntMap;
import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.TimeUtils;
import io.anuke.ucore.core.Settings;
import static io.anuke.mindustry.Vars.headless;
@@ -31,15 +30,6 @@ public class Administration{
load();
}
public boolean isAntiGrief(){
return Settings.getBool("antigrief");
}
public void setAntiGrief(boolean antiGrief){
Settings.putBool("antigrief", antiGrief);
Settings.save();
}
public boolean allowsCustomClients(){
return Settings.getBool("allow-custom", !headless);
}
@@ -49,10 +39,6 @@ public class Administration{
Settings.save();
}
public boolean isValidateReplace(){
return false;
}
public void setAntiGriefParams(int maxBreak, int cooldown){
Settings.putInt("antigrief-max", maxBreak);
Settings.putInt("antigrief-cooldown", cooldown);
@@ -63,42 +49,6 @@ public class Administration{
return editLogs;
}
public boolean validateBreak(String id, String ip){
if(!isAntiGrief() || isAdmin(id, ip)) return true;
PlayerInfo info = getCreateInfo(id);
if(info.lastBroken == null || info.lastBroken.length != Settings.getInt("antigrief-max")){
info.lastBroken = new long[Settings.getInt("antigrief-max")];
}
long[] breaks = info.lastBroken;
int shiftBy = 0;
for(int i = 0; i < breaks.length && breaks[i] != 0; i++){
if(TimeUtils.timeSinceMillis(breaks[i]) >= Settings.getInt("antigrief-cooldown")){
shiftBy = i;
}
}
for(int i = 0; i < breaks.length; i++){
breaks[i] = (i + shiftBy >= breaks.length) ? 0 : breaks[i + shiftBy];
}
int remaining = 0;
for(int i = 0; i < breaks.length; i++){
if(breaks[i] == 0){
remaining = breaks.length - i;
break;
}
}
if(remaining == 0) return false;
breaks[breaks.length - remaining] = TimeUtils.millis();
return true;
}
/**
* Call when a player joins to update their information here.
*/
@@ -349,8 +299,6 @@ public class Administration{
public boolean banned, admin;
public long lastKicked; //last kicked timestamp
public long[] lastBroken;
PlayerInfo(String id){
this.id = id;
}

View File

@@ -48,7 +48,7 @@ public class ConsumeItemFilter extends Consume{
public boolean valid(Block block, TileEntity entity){
for(int i = 0; i < Item.all().size; i++){
Item item = Item.getByID(i);
if(entity.items.has(item) && this.filter.test(item)){
if(entity.items != null && entity.items.has(item) && this.filter.test(item)){
return true;
}
}

View File

@@ -39,7 +39,7 @@ public class ConsumeItems extends Consume{
@Override
public boolean valid(Block block, TileEntity entity){
return entity.items.has(items);
return entity.items != null && entity.items.has(items);
}
@Override

View File

@@ -56,7 +56,7 @@ public class ConsumeLiquidFilter extends Consume{
@Override
public boolean valid(Block block, TileEntity entity){
return filter.test(entity.liquids.current()) && entity.liquids.currentAmount() >= use(block);
return entity.liquids != null && filter.test(entity.liquids.current()) && entity.liquids.currentAmount() >= use(block);
}
@Override