diff --git a/java/noppes/npcs/api/block/IBlockScripted.java b/java/noppes/npcs/api/block/IBlockScripted.java new file mode 100644 index 0000000..8cb6687 --- /dev/null +++ b/java/noppes/npcs/api/block/IBlockScripted.java @@ -0,0 +1,97 @@ +package noppes.npcs.api.block; + +import noppes.npcs.api.IBlock; +import noppes.npcs.api.ITimers; +import noppes.npcs.api.item.IItemStack; + +public interface IBlockScripted extends IBlock { + + /** + * @param item The item to be set as model + */ + void setModel(IItemStack item); + + void setModel(String name); + + IItemStack getModel(); + + ITimers getTimers(); + + /** + * @param strength Sets the strength of the redstone signal (0-15) + */ + void setRedstonePower(int strength); + + /** + * @return Returns the current redstone power (0-15) this block is giving off + */ + int getRedstonePower(); + + void setIsLadder(boolean enabled); + + boolean getIsLadder(); + + /** + * @param value Sets the light value (0-15) + */ + void setLight(int value); + + /** + * @return Returns the light value (0-15) + */ + int getLight(); + + /** + * @param x Scale x (0-10) + * @param y Scale y (0-10) + * @param z Scale z (0-10) + */ + void setScale(float x, float y, float z); + + float getScaleX(); + + float getScaleY(); + + float getScaleZ(); + + /** + * @param x Rotation x (0-359) + * @param y Rotation y (0-359) + * @param z Rotation z (0-359) + */ + void setRotation(int x, int y, int z); + + int getRotationX(); + + int getRotationY(); + + int getRotationZ(); + + /** + * On servers the enable-command-block option in the server.properties needs to be set to true
+ * Use /gamerule commandBlockOutput false/true to turn off/on command block feedback
+ * Setting NpcUseOpCommands to true in the CustomNPCs.cfg should allow the npc to run op commands, be warned this could be a major security risk, use at own risk
+ * For permission plugins the commands are run under uuid:c9c843f8-4cb1-4c82-aa61-e264291b7bd6 and name:[customnpcs] + * @param command The command to be executed + * @return Returns the commands output + */ + String executeCommand(String command); + + boolean getIsPassible(); + + void setIsPassible(boolean bo); + + /** + * @return Harvesting hardness (-1 makes it unharvestable) + */ + float getHardness(); + + void setHardness(float hardness); + + /** + * @return Explosion resistance (-1 makes it unexplodable) + */ + float getResistance(); + + void setResistance(float resistance); +}