ItemEntityCommands.java 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. package me.km.snuviscript.commands;
  2. import me.hammerle.snuviscript.code.ScriptManager;
  3. import me.km.utils.Location;
  4. import net.minecraft.entity.EntityType;
  5. import net.minecraft.entity.item.ItemEntity;
  6. import net.minecraft.item.ItemStack;
  7. public class ItemEntityCommands {
  8. public static void registerFunctions(ScriptManager sm) {
  9. sm.registerFunction("item.entity.get", (sc, in) -> ((ItemEntity) in[0].get(sc)).getItem());
  10. sm.registerConsumer("item.entity.set", (sc, in) -> {
  11. ((ItemEntity) in[0].get(sc)).setItem((ItemStack) in[1].get(sc));
  12. });
  13. sm.registerFunction("item.entity.new", (sc, in) -> {
  14. Location l = (Location) in[0].get(sc);
  15. ItemEntity item = new ItemEntity(EntityType.ITEM, l.getWorld());
  16. item.setPosition(l.getX(), l.getY(), l.getZ());
  17. ItemStack stack = (ItemStack) in[1].get(sc);
  18. item.setItem(stack);
  19. item.lifespan = stack.getEntityLifespan(l.getWorld());
  20. return item;
  21. });
  22. sm.registerConsumer("item.entity.spawn", (sc, in) -> {
  23. ItemEntity ent = (ItemEntity) in[0].get(sc);
  24. ent.world.addEntity(ent);
  25. });
  26. sm.registerConsumer("item.entity.setlifespan", (sc, in) -> {
  27. ((ItemEntity) in[0].get(sc)).lifespan = in[1].getInt(sc);
  28. });
  29. }
  30. }