provide api to mark particle as error

we will probably need to have this render through the walls, but that's a task for later
This commit is contained in:
Glease committed 2022-08-24 11:28:26 +08:00
1 parent 94055bbd6a
commit d73d2bffc2
3 files changed
+16 -1

No files matched your search

@@ -11,6 +11,9 @@ import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class CommonProxy {
private static final short[] RGBA_RED_TINT = {255, 128, 128, 0};
public void hintParticleTinted(World w, int x, int y, int z, IIcon[] icons, short[] RGBa) {}
public void hintParticleTinted(World w, int x, int y, int z, Block block, int meta, short[] RGBa) {}
@@ -51,4 +54,8 @@ public class CommonProxy {
}
public void uploadChannels(ItemStack trigger) {}
public boolean markHintParticleError(EntityPlayer player, World w, int x, int y, int z) {
return updateHintParticleTint(player, w, x, y, z, RGBA_RED_TINT);
}
}
@@ -71,6 +71,14 @@ public class StructureLibAPI {
proxy.hintParticle(w, x, y, z, block, meta);
}
/**
* Update the tint of given hint particle. Do nothing if particle not found.
* @return false if nothing updated. true if updated.
*/
public static boolean markHintParticleError(EntityPlayer player, World w, int x, int y, int z) {
return proxy.markHintParticleError(player, w, x, y, z);
}
/**
* Update the tint of given hint particle. Do nothing if particle not found.
* @return false if nothing updated. true if updated.
@@ -37,7 +37,7 @@ class SurvivalBuildStructureWalker<T> implements IStructureWalker<T> {
if (check) element.check(object, world, x, y, z);
return ++built < elementBudget;
case REJECT:
StructureLibAPI.updateHintParticleTint(actor, world, x, y, z, new short[] {255, 128, 128, 0});
StructureLibAPI.markHintParticleError(actor, world, x, y, z);
return false;
case ACCEPT_STOP:
if (check) element.check(object, world, x, y, z);