/** * Create a WorldEdit EntityType from a Bukkit one. * * @param entityType Bukkit EntityType * @return WorldEdit EntityType */ public static EntityType adapt(org.bukkit.entity.EntityType entityType) { return EntityTypes.get(entityType.name().toLowerCase()); }
private List<EntityType> getTypes() { if (arguments.containsKey("type")) { SelectorValue value = arguments.get("type"); if (!value.isInverted()) { EntityType type = EntityType.fromName(value.getValue()); if (type == null) { try { type = EntityType.valueOf(value.getValue().toUpperCase()); } catch (IllegalArgumentException ex) { return Collections.emptyList(); } } return Arrays.asList(type); } else { return Arrays.stream(EntityType.values()).filter(mode -> { if (mode.getName() == null) { return !mode.name().equalsIgnoreCase(value.getValue()); } return !mode.getName().equalsIgnoreCase(value.getValue()); }).collect(Collectors.toList()); } } if (selector == SelectorType.ALL_ENTITIES) { return Arrays.asList(EntityType.values()); } else { return Arrays.asList(EntityType.PLAYER); } }
public static DisguiseType getType(EntityType entityType) { try { return valueOf(entityType.name().toUpperCase()); } catch (Throwable ex) { return DisguiseType.UNKNOWN; } }
public void write(CityWorldGenerator generator, ConfigurationSection section) { List<String> names = new ArrayList<String>(); if (items != null) { for (EntityType item : items) { names.add(item.name()); } } section.set(listName, names); }
@Override public String concreteName() { return getConcrete().name(); }
@Override public void save(DataKey key) { key.setString("", type.name()); }
@Override public HashMap<String, Integer> getValues(HashMap<String, Integer> hashMap) { for (HashSet<TargetedDisguise> list : DisguiseUtilities.getDisguises().values()) { for (Disguise disg : list) { if (disg.getEntity() == null || !disg.isDisguiseInUse()) continue; String name = disg.getEntity().getType().name(); hashMap.put(name, hashMap.containsKey(name) ? hashMap.get(name) + 1 : 1); } } return hashMap; } });
@Override public boolean isLeashableEntityType(EntityType bukkitType) { if (bukkitType == EntityType.ENDER_DRAGON) { return MyPetApi.getPluginHookManager().isPluginUsable("ProtocolLib"); //ToDo & active } try { MyPetType type = MyPetType.byEntityTypeName(bukkitType.name()); return !(type == MyPetType.Endermite || type == MyPetType.Guardian || type == MyPetType.Rabbit) && type != null; } catch (MyPetTypeNotFoundException e) { return false; } } }
@Override public String name() { return getAbstracted() == MCVanillaEntityType.UNKNOWN ? getConcrete().name() : getAbstracted().name(); }
@EventHandler(ignoreCancelled = true) public void onSpawnEntity(SpawnEntityEvent event) { if (!getWorldConfig(BukkitAdapter.adapt(event.getWorld())).buildPermissions) return; Object rootCause = event.getCause().getRootCause(); if (rootCause instanceof Player) { final Player player = (Player) rootCause; final EntityType type = event.getEffectiveType(); if (!hasBuildPermission(player, "entity." + type.name().toLowerCase() + ".place") && !hasBuildPermission(player, "entity.place." + type.name().toLowerCase())) { tellErrorMessage(player, event.getWorld()); event.setCancelled(true); } } }
@Nullable protected UndoList getExplosionUndo(Entity explodingEntity) { UndoList blockList = controller.getEntityUndo(explodingEntity); if (blockList == null && autoRollbackDuration > 0 && rollbackExplosions.contains(explodingEntity.getType())) { Mage mage = controller.getMage(explodingEntity); blockList = new com.elmakers.mine.bukkit.block.UndoList(mage, "Explosion (" + explodingEntity.getType().name() + ")"); blockList.setScheduleUndo(autoRollbackDuration); blockList.setUndoSpeed(autoRollbackSpeed); mage.prepareForUndo(blockList); } return blockList; }
@EventHandler(ignoreCancelled = true) public void onUseEntity(UseEntityEvent event) { if (!getWorldConfig(BukkitAdapter.adapt(event.getWorld())).buildPermissions) return; Object rootCause = event.getCause().getRootCause(); if (rootCause instanceof Player) { final Player player = (Player) rootCause; final EntityType type = event.getEntity().getType(); if (!hasBuildPermission(player, "entity." + type.name().toLowerCase() + ".interact") && !hasBuildPermission(player, "entity.interact." + type.name().toLowerCase())) { tellErrorMessage(player, event.getWorld()); event.setCancelled(true); } } }
@EventHandler(ignoreCancelled = true) public void onDamageEntity(DamageEntityEvent event) { if (!getWorldConfig(BukkitAdapter.adapt(event.getWorld())).buildPermissions) return; Object rootCause = event.getCause().getRootCause(); if (rootCause instanceof Player) { final Player player = (Player) rootCause; final EntityType type = event.getEntity().getType(); if (!hasBuildPermission(player, "entity." + type.name().toLowerCase() + ".damage") && !hasBuildPermission(player, "entity.damage." + type.name().toLowerCase())) { tellErrorMessage(player, event.getWorld()); event.setCancelled(true); } } }
@EventHandler(ignoreCancelled = true) public void onDestroyEntity(DestroyEntityEvent event) { if (!getWorldConfig(BukkitAdapter.adapt(event.getWorld())).buildPermissions) return; Object rootCause = event.getCause().getRootCause(); if (rootCause instanceof Player) { final Player player = (Player) rootCause; final EntityType type = event.getEntity().getType(); if (!hasBuildPermission(player, "entity." + type.name().toLowerCase() + ".remove") && !hasBuildPermission(player, "entity.remove." + type.name().toLowerCase())) { tellErrorMessage(player, event.getWorld()); event.setCancelled(true); } } }
/** * Track where the mob was created. This will determine its allowable movement zone. * @param e - event */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onMobSpawn(CreatureSpawnEvent e) { if (getIWM().inWorld(e.getLocation()) && getIWM().getGeoLimitSettings(e.getLocation().getWorld()).contains(e.getEntityType().name())) { getIslands().getIslandAt(e.getLocation()).ifPresent(i -> mobSpawnTracker.put(e.getEntity(), i)); } }
private Runnable handleProjectileKill(long time, UUID victimUUID, Projectile projectile) { ProjectileSource source = projectile.getShooter(); if (!(source instanceof Player)) { return null; } Player player = (Player) source; String projectileName = new EntityNameFormatter().apply(projectile.getType().name()); return victimUUID != null ? new PlayerKillProcessor(player.getUniqueId(), time, victimUUID, projectileName) : new MobKillProcessor(player.getUniqueId()); } }
private PanelItem getPanelItem(EntityType c, User user) { PanelItemBuilder pib = new PanelItemBuilder(); pib.name(Util.prettifyText(c.toString())); pib.clickHandler(this); if (BentoBox.getInstance().getIWM().getGeoLimitSettings(user.getWorld()).contains(c.name())) { pib.icon(Material.GREEN_SHULKER_BOX); pib.description(user.getTranslation("protection.panel.flag-item.setting-active")); } else { pib.icon(Material.RED_SHULKER_BOX); pib.description(user.getTranslation("protection.panel.flag-item.setting-disabled")); } return pib.build(); }