private static List<SpongeBlockFilter> getDefaultBlocks() { return Lists.newArrayList( new SpongeBlockFilter(BlockTypes.DIAMOND_BLOCK) ); }
/** * Gets whether or not the specified {@link BlockState} passes the {@link SpongeBlockFilter}. * * @param filter The filter * @param state The state to test * @return If it passes */ public static boolean doesStatePassFilter(SpongeBlockFilter filter, BlockState state) { return filter.getApplicableBlocks().stream() .anyMatch(blockState -> blockState.equals(state)); }
@Override public void serialize(TypeToken<?> type, SpongeBlockFilter obj, ConfigurationNode value) { value.setValue(obj.getRule()); } }
if(getRule().contains("[") && getRule().endsWith("]")) { String subRule = getRule().substring(getRule().indexOf('['), getRule().length()-2); String[] parts = RegexUtil.COMMA_PATTERN.split(subRule); blockType = Sponge.getGame().getRegistry().getType(BlockType.class, getRule().substring(0, getRule().indexOf('['))).orElse(null); blockType = Sponge.getGame().getRegistry().getType(BlockType.class, getRule()).orElse(null); CraftBookPlugin.spongeInst().getLogger().warn("Missing type for filter rule: " + getRule()); return cache; cache.add(state); } else { CraftBookPlugin.spongeInst().getLogger().warn("A state was null when it shouldn't have been. Are you sure '" + getRule() + "' is correct?");
private static List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.add(new SpongeBlockFilter(BlockTypes.SAND)); states.add(new SpongeBlockFilter(BlockTypes.DIRT)); states.add(new SpongeBlockFilter(BlockTypes.GRAVEL)); states.add(new SpongeBlockFilter(BlockTypes.SNOW)); states.add(new SpongeBlockFilter(BlockTypes.SNOW_LAYER)); states.add(new SpongeBlockFilter(BlockTypes.GRASS)); states.add(new SpongeBlockFilter(BlockTypes.GRASS_PATH)); return states; }
@Listener public void onEntityMove(MoveEntityEvent event) { Vector3d fromPosition = event.getFromTransform().getPosition(); Vector3d toPosition = event.getToTransform().getPosition(); if(Math.abs(toPosition.getY() - fromPosition.getY()) > sensitivity.getValue() && fromPosition.getY() - fromPosition.getFloorY() < 0.25) { Location<World> block = event.getFromTransform().getLocation().getRelative(Direction.DOWN); if (BlockUtil.doesStatePassFilters(allowedBlocks.getValue(), block.getBlock())) { Location<World> signBlock = block.getRelative(Direction.DOWN); if (SignUtil.isSign(signBlock)) { Sign sign = (Sign) signBlock.getTileEntity().get(); if (isMechanicSign(sign)) { doAction(event.getTargetEntity(), SignUtil.getTextRaw(sign, 2), event.getToTransform().getRotation()); } } } else { for (Map.Entry<SpongeBlockFilter, String> blockFilterStringEntry : autoBlocks.getValue().entrySet()) { if (blockFilterStringEntry.getKey().getApplicableBlocks().contains(block.getBlock())) { doAction(event.getTargetEntity(), blockFilterStringEntry.getValue(), event.getToTransform().getRotation()); } } } } }
@Override public List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.add(new SpongeBlockFilter(BlockTypes.PLANKS)); states.add(new SpongeBlockFilter(BlockTypes.STONEBRICK)); states.add(new SpongeBlockFilter(BlockTypes.COBBLESTONE)); return states; }
@Override public List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.add(new SpongeBlockFilter(BlockTypes.PLANKS)); states.add(new SpongeBlockFilter(BlockTypes.STONEBRICK)); states.add(new SpongeBlockFilter(BlockTypes.COBBLESTONE)); return states; }
private static List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.add(new SpongeBlockFilter(BlockTypes.LOG)); states.add(new SpongeBlockFilter(BlockTypes.LOG2)); return states; }
@Override public SpongeBlockFilter deserialize(TypeToken<?> type, ConfigurationNode value) { return new SpongeBlockFilter(value.getString()); }
@Override public List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.addAll(Sponge.getRegistry().getAllOf(BlockType.class).stream() .filter(blockType -> blockType.getName().toLowerCase().contains("fence")) .map(SpongeBlockFilter::new) .collect(Collectors.toList())); states.add(new SpongeBlockFilter(BlockTypes.GLASS_PANE)); states.add(new SpongeBlockFilter(BlockTypes.STAINED_GLASS_PANE)); states.add(new SpongeBlockFilter(BlockTypes.IRON_BARS)); return states; } }
private static List<SpongeBlockFilter> getDefaultBlocks() { List<SpongeBlockFilter> states = Lists.newArrayList(); states.addAll(Sponge.getRegistry().getAllOf(BlockType.class).stream() .filter(blockType -> blockType.getName().toLowerCase().contains("stairs")) .map(blockType -> new SpongeBlockFilter(blockType.getName())).collect(Collectors.toList())); return states; }