Merge pull request #372 from LemADEC/experimental

Fixed world event lag and related cauldron crash
This commit is contained in:
Blood-Asp 2015-12-21 16:25:55 +01:00
commit c45e7345db

View file

@ -1415,20 +1415,20 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
} }
} }
if ((aEvent.world.getTotalWorldTime() % 100L == 0L) && ((this.mItemDespawnTime != 6000) || (this.mMaxEqualEntitiesAtOneSpot > 0))) { if ((aEvent.world.getTotalWorldTime() % 100L == 0L) && ((this.mItemDespawnTime != 6000) || (this.mMaxEqualEntitiesAtOneSpot > 0))) {
for (int i = 0; i < aEvent.world.loadedEntityList.size(); i++) { for (Object object : aEvent.world.loadedEntityList) {
if ((aEvent.world.loadedEntityList.get(i) instanceof Entity)) { if (object instanceof Entity) {
Entity tEntity = (Entity) aEvent.world.loadedEntityList.get(i); Entity tEntity = (Entity) object;
if (((tEntity instanceof EntityItem)) && (this.mItemDespawnTime != 6000) && (((EntityItem) tEntity).lifespan == 6000)) { if ((tEntity instanceof EntityItem) && (this.mItemDespawnTime != 6000) && (((EntityItem) tEntity).lifespan == 6000)) {
((EntityItem) tEntity).lifespan = this.mItemDespawnTime; ((EntityItem) tEntity).lifespan = this.mItemDespawnTime;
} else if (((tEntity instanceof EntityLivingBase)) && (this.mMaxEqualEntitiesAtOneSpot > 0) && (!(tEntity instanceof EntityPlayer)) } else if ((tEntity instanceof EntityLivingBase) && (this.mMaxEqualEntitiesAtOneSpot > 0) && (!(tEntity instanceof EntityPlayer))
&& (((EntityLivingBase) tEntity).canBePushed()) && (((EntityLivingBase) tEntity).getHealth() > 0.0F)) { && (((EntityLivingBase) tEntity).canBePushed()) && (((EntityLivingBase) tEntity).getHealth() > 0.0F)) {
List tList = tEntity.worldObj.getEntitiesWithinAABBExcludingEntity(tEntity, List<Entity> tList = tEntity.worldObj.getEntitiesWithinAABBExcludingEntity(tEntity,
tEntity.boundingBox.expand(0.20000000298023224D, 0.0D, 0.20000000298023224D)); tEntity.boundingBox.expand(0.20000000298023224D, 0.0D, 0.20000000298023224D));
Class tClass = tEntity.getClass(); Class tClass = tEntity.getClass();
int tEntityCount = 1; int tEntityCount = 1;
if (tList != null) { if (tList != null) {
for (int j = 0; j < tList.size(); j++) { for (Entity nearbyEntity : tList) {
if ((tList.get(j) != null) && (tList.get(j).getClass() == tClass)) { if ((nearbyEntity != null) && (nearbyEntity.getClass() == tClass)) {
tEntityCount++; tEntityCount++;
} }
} }