/** * Create a WorldEdit BlockState from a Bukkit ItemStack * * @param itemStack The Bukkit ItemStack * @return The WorldEdit BlockState */ public static BlockState asBlockState(ItemStack itemStack) throws WorldEditException { checkNotNull(itemStack); if (itemStack.getType().isBlock()) { return adapt(itemStack.getType().createBlockData()); } else { throw new NotABlockException(); } }
@Override public MCBlockData createBlockData() { return new BukkitMCBlockData(m.createBlockData()); }
public void showBlock(final Player p, final Location loc) { BlockData wool = Material.RED_WOOL.createBlockData(); arena.scheduleTask(new Runnable() { @Override public void run() { p.sendBlockChange(loc, wool); arena.scheduleTask(new Runnable() { @Override public void run() { if (!p.isOnline()) return; Block b = loc.getBlock(); p.sendBlockChange(loc, b.getBlockData()); } }, 100); } }, 0); }
@Override public final void setBlock(int x, int y, int z, Material material, Type type) { BlockData blockData = material.createBlockData(); try { if (blockData instanceof Slab) ((Slab) blockData).setType(type); } finally { chunkData.setBlock(x, y, z, blockData); } }
@Override public void setBlock(int x, int y, int z, Material material, BlockFace... facing) { BlockData blockData = material.createBlockData(); if (blockData instanceof MultipleFacing) { for (BlockFace face : facing) { ((MultipleFacing) blockData).setFace(face, true); } } chunkData.setBlock(x, y, z, blockData); }
public TARDISSpectaclesRunnable(TARDIS plugin) { this.plugin = plugin; Door door = (Door) Material.IRON_DOOR.createBlockData(); door.setHalf(Bisected.Half.BOTTOM); door.setHinge(Door.Hinge.RIGHT); lower.put(COMPASS.EAST, calculateFacing(door, COMPASS.EAST)); lower.put(COMPASS.SOUTH, calculateFacing(door, COMPASS.SOUTH)); lower.put(COMPASS.WEST, calculateFacing(door, COMPASS.WEST)); lower.put(COMPASS.NORTH, calculateFacing(door, COMPASS.NORTH)); upper = (Door) Material.IRON_DOOR.createBlockData(); upper.setHalf(Bisected.Half.TOP); }
TARDISLampsRunnable(TARDIS plugin, List<Block> lamps, long start, Material light, boolean use_wool) { this.plugin = plugin; this.lamps = lamps; this.start = start; this.light = light.createBlockData(); this.use_wool = use_wool; lights_on = (lamps.get(0).getType().equals(this.light.getMaterial())); }
public static BlockData getBlockData(int id, int data) { BukkitMCLegacyMaterial legacy = BY_ID.get(id); if(legacy == null) { return Material.AIR.createBlockData(); } Material mat = Material.getMaterial("LEGACY_" + legacy.name()); return Bukkit.getUnsafe().fromLegacy(mat, (byte) data); } }
private Object getData() { if (data != null || particle.getDataType().equals(Void.class)) { return data; } else if (particle.getDataType().equals(ItemStack.class) && material != null && material.isItem()) { data = new ItemStack(material); } else if (particle.getDataType().equals(BlockData.class) && material != null && material.isBlock()) { data = material.createBlockData(); } else if (particle.getDataType().equals(Particle.DustOptions.class)) { data = new Particle.DustOptions(Color.fromRGB(dustColor), (float) dustSize); } return data; }
private void extend(Block b, Block l) { l.setBlockData(Material.PISTON_HEAD.createBlockData()); Piston piston = (Piston) b.getBlockData(); piston.setExtended(true); b.setBlockData(piston, true); }
public MenuItemBlockData(String name, Material displayItem) { super(name, displayItem); data.setValue(displayItem.createBlockData()); setDescription(createDescription(data.getValue())); }
/** * Remove in 1.14 as no configs should have materialdata stored. */ @Deprecated private BlockData parseOldMaterialData(String path,FileConfiguration config){ try { String obj = config.getString(path+"."+getName()); Material mat = Material.matchMaterial(obj); Integer olddata = config.getInt(path+".matchdatavalue"); if(olddata == 0) olddata = config.getInt(path+".todatavalue"); if(olddata == 0 ) olddata = config.getInt(path+".dur"); return Bukkit.getUnsafe().fromLegacy(mat, olddata.byteValue()); }catch (Exception ignored){ Minigames.getPlugin().getLogger().log(Level.CONFIG,"Error loading Value for" + path); } return Material.STONE.createBlockData(); }
private void buildStructure(Chunk chunk, int x, int y, int z) { plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { chunks.add(chunk); // remove STRUCTURE_BLOCK so we don't get this chunk again Block structure = chunk.getBlock(x, y, z); structure.setBlockData(Material.RED_SAND.createBlockData()); // create structure new TARDISBuildGallifreyanStructure(plugin).buildCity(chunk.getX() * 16 + x, y, chunk.getZ() * 16 + z); }, 1L); } }
@Override public void loadValue(String path, FileConfiguration config) { String obj = config.getString(path+"."+getName()); BlockData data= null; try { data = Bukkit.createBlockData(obj); }catch (IllegalArgumentException e){ data = parseOldMaterialData(path,config); } if(data != null) setFlag(data); else{ setFlag(Material.STONE.createBlockData()); } }
private List<BlockFace> getPossibleFaces(Location loc) { List<BlockFace> faces = new ArrayList<>(); Block relative = loc.getBlock().getRelative(BlockFace.DOWN); if (relative.getType().isSolid() && relative.getType().isOccluding()) { faces.add(BlockFace.DOWN); } for (BlockFace f : ((Directional) Material.WALL_TORCH.createBlockData()).getFaces()) { Block block = loc.getBlock().getRelative(f); if (block.getType().isSolid() && block.getType().isOccluding()) { faces.add(f.getOppositeFace()); } } return faces; } }
void buildOuter(BuildData bd, PRESET preset) { plugin.getTrackerKeeper().getMaterialising().add(bd.getTardisID()); TARDISMaterialisationPreset runnable = new TARDISMaterialisationPreset(plugin, bd, preset, Material.BLUE_WOOL.createBlockData(), ADAPTION.OFF, 3); int taskID = plugin.getServer().getScheduler().scheduleSyncRepeatingTask(plugin, runnable, 10L, 20L); runnable.setTask(taskID); TARDISSounds.playTARDISSound(bd.getLocation(), "tardis_land_fast"); }
@Override public ItemStack onClickWithItem(ItemStack item) { try { BlockData data = item.getType().createBlockData(); this.data.setValue(data); }catch (IllegalArgumentException e){ String name = "unknown"; if(item != null){ name = item.getType().name(); } getContainer().getViewer().sendMessage(name + " cannot be made into a block!", MinigameMessageType.ERROR); } return getItem(); }
public final void fillBlocks(int x1, int x2, int y1, int y2, int z1, int z2, Material material) { if (!(material.createBlockData() instanceof MultipleFacing)) { setBlocks(x1, x2, y1, y2, z1, z2, material); } setBlocks(x1, x2, y1, y2, z1, z2, material, BlockFace.NORTH, BlockFace.SOUTH, BlockFace.EAST, BlockFace.WEST); setBlocks(x1 + 1, x2 - 1, y1, y2, z1, z1 + 1, material, BlockFace.EAST, BlockFace.WEST, BlockFace.SOUTH); // N setBlocks(x1 + 1, x2 - 1, y1, y2, z2 - 1, z2, material, BlockFace.EAST, BlockFace.WEST, BlockFace.NORTH); // S setBlocks(x1, x1 + 1, y1, y2, z1 + 1, z2 - 1, material, BlockFace.SOUTH, BlockFace.NORTH, BlockFace.EAST); // W setBlocks(x2 - 1, x2, y1, y2, z1 + 1, z2 - 1, material, BlockFace.SOUTH, BlockFace.NORTH, BlockFace.WEST); // E setBlocks(x1, y1, y2, z1, material, BlockFace.SOUTH, BlockFace.EAST); // NW setBlocks(x1, y1, y2, z2 - 1, material, BlockFace.NORTH, BlockFace.EAST); // SW setBlocks(x2 - 1, y1, y2, z1, material, BlockFace.SOUTH, BlockFace.WEST); // NE setBlocks(x2 - 1, y1, y2, z2 - 1, material, BlockFace.NORTH, BlockFace.WEST); // SE }
@Override public final void setWalls(int x1, int x2, int y1, int y2, int z1, int z2, Material material) { if (material.createBlockData() instanceof MultipleFacing) { setBlocks(x1 + 1, x2 - 1, y1, y2, z1, z1 + 1, material, BlockFace.EAST, BlockFace.WEST); // N setBlocks(x1 + 1, x2 - 1, y1, y2, z2 - 1, z2, material, BlockFace.EAST, BlockFace.WEST); // S setBlocks(x1, x1 + 1, y1, y2, z1 + 1, z2 - 1, material, BlockFace.SOUTH, BlockFace.NORTH); // W setBlocks(x2 - 1, x2, y1, y2, z1 + 1, z2 - 1, material, BlockFace.SOUTH, BlockFace.NORTH); // E setBlocks(x1, y1, y2, z1, material, BlockFace.SOUTH, BlockFace.EAST); // NW setBlocks(x1, y1, y2, z2 - 1, material, BlockFace.NORTH, BlockFace.EAST); // SW setBlocks(x2 - 1, y1, y2, z1, material, BlockFace.SOUTH, BlockFace.WEST); // NE setBlocks(x2 - 1, y1, y2, z2 - 1, material, BlockFace.NORTH, BlockFace.WEST); // SE } else { setBlocks(x1, x2, y1, y2, z1, z1 + 1, material); // N setBlocks(x1, x2, y1, y2, z2 - 1, z2, material); // S setBlocks(x1, x1 + 1, y1, y2, z1 + 1, z2 - 1, material); // W setBlocks(x2 - 1, x2, y1, y2, z1 + 1, z2 - 1, material); // E } }
public boolean setExtension(Block b) { BlockFace face = ((Piston) b.getBlockData()).getFacing(); Block l = b.getRelative(face); Material mat = l.getType(); // check if there is a block there if (!mat.equals(Material.PISTON_HEAD)) { if (plugin.getUtils().isAir(mat)) { extend(b, l); return true; } else { // check the block further on for AIR Block two = b.getRelative(face, 2); if (plugin.getUtils().isAir(two.getType())) { two.setBlockData(mat.createBlockData()); extend(b, l); return true; } } } return false; }