Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 27 additions & 35 deletions src/main/java/mcp/mobius/waila/api/impl/DataAccessorFMP.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@

public class DataAccessorFMP implements IWailaFMPAccessor {

String id;
World world;
EntityPlayer player;
MovingObjectPosition mop;
Vec3 renderingvec = null;
TileEntity entity;
NBTTagCompound partialNBT = null;
NBTTagCompound remoteNBT = null;
long timeLastUpdate = System.currentTimeMillis();
double partialFrame;

public static DataAccessorFMP instance = new DataAccessorFMP();
public static final DataAccessorFMP instance = new DataAccessorFMP();

private String id;
private World world;
private EntityPlayer player;
private MovingObjectPosition mop;
private Vec3 renderingvec;
private TileEntity tileEntity;
private NBTTagCompound partialNBT;
private double partialFrame;

private DataAccessorFMP() {}

public void set(World _world, EntityPlayer _player, MovingObjectPosition _mop, NBTTagCompound _partialNBT,
String id) {
Expand All @@ -35,13 +35,24 @@ public void set(World _world, EntityPlayer _player, MovingObjectPosition _mop, N
this.world = _world;
this.player = _player;
this.mop = _mop;
this.entity = world.getTileEntity(_mop.blockX, _mop.blockY, _mop.blockZ);
this.tileEntity = world.getTileEntity(_mop.blockX, _mop.blockY, _mop.blockZ);
this.partialNBT = _partialNBT;
this.id = id;
this.renderingvec = renderVec;
this.partialFrame = partialTicks;
}

public void reset() {
id = null;
world = null;
player = null;
mop = null;
renderingvec = null;
tileEntity = null;
partialNBT = null;
partialFrame = 0.0D;
}

@Override
public World getWorld() {
return this.world;
Expand All @@ -54,7 +65,7 @@ public EntityPlayer getPlayer() {

@Override
public TileEntity getTileEntity() {
return this.entity;
return this.tileEntity;
}

@Override
Expand All @@ -69,12 +80,9 @@ public NBTTagCompound getNBTData() {

@Override
public NBTTagCompound getFullNBTData() {
if (this.entity == null) return null;

if (this.isTagCorrect(this.remoteNBT)) return this.remoteNBT;

if (this.tileEntity == null) return null;
NBTTagCompound tag = new NBTTagCompound();
this.entity.writeToNBT(tag);
this.tileEntity.writeToNBT(tag);
return tag;
}

Expand All @@ -98,20 +106,4 @@ public String getID() {
return this.id;
}

private boolean isTagCorrect(NBTTagCompound tag) {
if (tag == null) {
this.timeLastUpdate = System.currentTimeMillis() - 250;
return false;
}

int x = tag.getInteger("x");
int y = tag.getInteger("y");
int z = tag.getInteger("z");

if (x == this.mop.blockX && y == this.mop.blockY && z == this.mop.blockZ) return true;
else {
this.timeLastUpdate = System.currentTimeMillis() - 250;
return false;
}
}
}
8 changes: 6 additions & 2 deletions src/main/java/mcp/mobius/waila/handlers/DecoratorFMP.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,13 @@ public void decorateBlock(ItemStack itemStack, IWailaDataAccessor accessor, IWai
accessor.getRenderingPosition(),
accessor.getPartialFrame());

for (List<IWailaFMPDecorator> providersList : ModuleRegistrar.instance().getFMPDecorators(id).values())
for (IWailaFMPDecorator provider : providersList)
for (List<IWailaFMPDecorator> providersList : ModuleRegistrar.instance().getFMPDecorators(id)
.values()) {
for (IWailaFMPDecorator provider : providersList) {
provider.decorateBlock(itemStack, DataAccessorFMP.instance, config);
}
}
DataAccessorFMP.instance.reset();
}
}
}
Expand Down
12 changes: 9 additions & 3 deletions src/main/java/mcp/mobius/waila/handlers/HUDHandlerFMP.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,11 @@ public List<String> getWailaHead(ItemStack itemStack, List<String> currenttip, I

for (List<IWailaFMPProvider> providersList : ModuleRegistrar.instance().getHeadFMPProviders(id)
.values()) {
for (IWailaFMPProvider provider : providersList)
for (IWailaFMPProvider provider : providersList) {
currenttip = provider.getWailaHead(itemStack, currenttip, DataAccessorFMP.instance, config);
}
}
DataAccessorFMP.instance.reset();
}
}

Expand All @@ -64,9 +66,11 @@ public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, I

for (List<IWailaFMPProvider> providersList : ModuleRegistrar.instance().getBodyFMPProviders(id)
.values()) {
for (IWailaFMPProvider provider : providersList)
for (IWailaFMPProvider provider : providersList) {
currenttip = provider.getWailaBody(itemStack, currenttip, DataAccessorFMP.instance, config);
}
}
DataAccessorFMP.instance.reset();
}
}

Expand All @@ -87,9 +91,11 @@ public List<String> getWailaTail(ItemStack itemStack, List<String> currenttip, I

for (List<IWailaFMPProvider> providersList : ModuleRegistrar.instance().getTailFMPProviders(id)
.values()) {
for (IWailaFMPProvider provider : providersList)
for (IWailaFMPProvider provider : providersList) {
currenttip = provider.getWailaTail(itemStack, currenttip, DataAccessorFMP.instance, config);
}
}
DataAccessorFMP.instance.reset();
}
}

Expand Down
Loading