@Override protected void execute(Event event) { int x1 = 0; int y1 = y1Expression.getSingle(event).intValue(); int z1 = 0; int x2 = 15; int y2 = y1; int z2 = 15; switch (matchedPattern) { case 0: x1 = MathUtil.intMod(x1Expression.getSingle(event).intValue(), 16); z1 = MathUtil.intMod(z1Expression.getSingle(event).intValue(), 16); x2 = MathUtil.intMod(x2Expression.getSingle(event).intValue(), 16); z2 = MathUtil.intMod(z2Expression.getSingle(event).intValue(), 16); break; case 2: y2 = y2Expression.getSingle(event).intValue(); } ChunkData chunkData = chunkDataExpression.getSingle(event); ItemStack itemStack = itemStackExpression.getSingle(event); MaterialData materialData = itemStack.getData(); chunkData.setRegion(Math.min(x1, x2), Math.min(y1, y2), Math.min(z1, z2), Math.max(x1, x2) + 1, Math.max(y1, y2) + 1, Math.max(z1, z2) + 1, materialData); }
@Override protected ItemStack[] get(Event event) { Integer x = MathUtil.intMod(xExpression.getSingle(event).intValue(), 16); Integer y = yExpression.getSingle(event).intValue(); Integer z = MathUtil.intMod(zExpression.getSingle(event).intValue(), 16); ChunkData chunkData = chunkDataExpression.getSingle(event); MaterialData materialData = chunkData.getTypeAndData(x, y, z); ItemStack result = new ItemStack(materialData.getItemType()); result.setData(materialData); return new ItemStack[]{result}; }
@Override public boolean init(Expression<?>[] expressions, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { xExpression = (Expression<Number>) expressions[0]; yExpression = (Expression<Number>) expressions[1]; zExpression = (Expression<Number>) expressions[2]; chunkDataExpression = (Expression<ChunkData>) expressions[3]; return true; }
public void change(Event event, Object[] delta, Changer.ChangeMode mode){ Integer x = MathUtil.intMod(xExpression.getSingle(event).intValue(), 16); Integer y = yExpression.getSingle(event).intValue(); Integer z = MathUtil.intMod(zExpression.getSingle(event).intValue(), 16); ChunkData chunkData = chunkDataExpression.getSingle(event); ItemStack itemStack = (ItemStack) delta[0]; MaterialData materialData = itemStack.getData(); chunkData.setBlock(x, y, z, materialData); }
@Override public boolean init(Expression<?>[] expressions, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { matchedPattern = i; switch (matchedPattern) { case 0: x1Expression = (Expression<Number>) expressions[0]; y1Expression = (Expression<Number>) expressions[1]; z1Expression = (Expression<Number>) expressions[2]; x2Expression = (Expression<Number>) expressions[3]; y2Expression = (Expression<Number>) expressions[4]; z2Expression = (Expression<Number>) expressions[5]; chunkDataExpression = (Expression<ChunkData>) expressions[6]; itemStackExpression = (Expression<ItemStack>) expressions[7]; break; case 1: y1Expression = (Expression<Number>) expressions[0]; chunkDataExpression = (Expression<ChunkData>) expressions[1]; itemStackExpression = (Expression<ItemStack>) expressions[2]; break; case 2: y1Expression = (Expression<Number>) expressions[0]; y2Expression = (Expression<Number>) expressions[1]; chunkDataExpression = (Expression<ChunkData>) expressions[2]; itemStackExpression = (Expression<ItemStack>) expressions[3]; } return true; }
@Override public ChunkData createChunkData(World world) { // TODO Auto-generated method stub throw new UnimplementedOperationException(); }
@Override public ChunkData createChunkData(org.bukkit.World arg0) { // TODO Auto-generated method stub return null; }
@Override public ChunkData createChunkData(World world) { throw new UnsupportedOperationException(); }
@Override public ChunkData createChunkData(World arg0) { throw Pokkit.unsupported(); }