當前位置: 首頁>>代碼示例>>Java>>正文


Java Entity類代碼示例

本文整理匯總了Java中org.spongepowered.api.entity.Entity的典型用法代碼示例。如果您正苦於以下問題:Java Entity類的具體用法?Java Entity怎麽用?Java Entity使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Entity類屬於org.spongepowered.api.entity包,在下文中一共展示了Entity類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: onPlayerDamage

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Listener
public void onPlayerDamage(DamageEntityEvent event) {
	if (!Config.Values.Synchronize.getEnableHealth())
		return;

	Entity player = event.getTargetEntity();

	if (!(player instanceof Player))
		return;

	synchronized (waitingPlayers) {
		if (waitingPlayers.containsKey(player.getUniqueId())) {
			event.setCancelled(true);
		}
	}
}
 
開發者ID:AuraDevelopmentTeam,項目名稱:InvSync,代碼行數:17,代碼來源:PlayerEvents.java

示例2: onServerSTarted

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Listener
public void onServerSTarted(GameStartedServerEvent event) {
    Task.builder()
            .delay(5, TimeUnit.SECONDS)
            .interval(1, TimeUnit.SECONDS)
            .name("Disco Changer")
            .execute(() -> {
                // DISCO DISCO TIME
                ImmutableList<Aspect> aspects = ImmutableList.copyOf(Sponge.getRegistry().getAllOf(Aspect.class));
                for (Map.Entry<UUID, UUID> entry : this.auraMap.entrySet()) {
                    Optional<World> world = Sponge.getServer().getWorld(entry.getKey());
                    world.ifPresent(spongeWorld -> {
                        Optional<Entity> aura = spongeWorld.getEntity(entry.getValue());
                        aura.ifPresent(auraNode -> {
                            AuraNodeData nodeData = ((AuraNode) auraNode).auraNodeData();
                            Aspect value = aspects.get(RANDOM.nextInt(aspects.size()));
                            nodeData.set(ThaumicKeys.AURA_NODE_ASPECT, value);
                            nodeData.set(ThaumicKeys.AURA_NODE_SIZE, RANDOM.nextInt(400));
                            auraNode.offer(nodeData);
                        });
                    });
                }

            })
            .submit(this);
}
 
開發者ID:gabizou,項目名稱:ThaumicSponge,代碼行數:27,代碼來源:ThaumicSpongeMod.java

示例3: accept

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Override
public void accept(Task task) {

    List<Color> colors = Lists.newArrayList(Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_CYAN, Color.DARK_GREEN, Color.DARK_MAGENTA,
            Color.GRAY, Color.GREEN, Color.LIME, Color.MAGENTA, Color.NAVY, Color.PINK, Color.PURPLE, Color.RED, Color.WHITE, Color.YELLOW);
    Collections.shuffle(colors);

    FireworkEffect fireworkEffect = FireworkEffect.builder()
            .colors(colors.get(0), colors.get(1), colors.get(2))
            .shape(FireworkShapes.STAR)
            .build();

    Entity firework = this.player.getWorld().createEntity(EntityTypes.FIREWORK, this.player.getLocation().getPosition());
    firework.offer(Keys.FIREWORK_EFFECTS, Lists.newArrayList(fireworkEffect));
    firework.offer(Keys.FIREWORK_FLIGHT_MODIFIER, 2);

    this.player.getWorld().spawnEntity(firework);

    this.counter++;

    if (this.counter >= this.ITERATIONS) {
        task.cancel();
    }
}
 
開發者ID:BadgeUp,項目名稱:badgeup-sponge-client,代碼行數:25,代碼來源:FireworkConsumer.java

示例4: CachedEntity

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
public CachedEntity(Entity entity) {
    super(entity);

    this.type = new CachedCatalogType(entity.getType());
    this.uuid = UUID.fromString(entity.getUniqueId().toString());
    this.location = new CachedLocation(entity.getLocation());

    this.rotation = entity.getRotation().clone();
    this.velocity = entity.getVelocity().clone();
    this.scale = entity.getScale().clone();

    if (entity instanceof Carrier) {
        try {
            this.inventory = new CachedInventory(((Carrier) entity).getInventory());
        } catch (AbstractMethodError ignored) {}
    }
}
 
開發者ID:Valandur,項目名稱:Web-API,代碼行數:18,代碼來源:CachedEntity.java

示例5: execute

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Override
public void execute(CommandQueue queue, CommandEntry entry) {
    EntityTag entityTag = EntityTag.getFor(queue.error, entry.getArgumentObject(queue, 0));
    Entity entity = entityTag.getInternal();
    MapTag propertyMap = MapTag.getFor(queue.error, entry.getArgumentObject(queue, 1));
    for (Map.Entry<String, AbstractTagObject> mapEntry : propertyMap.getInternal().entrySet()) {
        if (mapEntry.getKey().equalsIgnoreCase("rotation")) {
            LocationTag rot = LocationTag.getFor(queue.error, mapEntry.getValue());
            entity.setRotation(rot.getInternal().toVector3d());
        }
        else {
            Key found = DataKeys.getKeyForName(mapEntry.getKey());
            if (found == null) {
                queue.handleError(entry, "Invalid property '" + mapEntry.getKey() + "' in EditEntity command!");
                return;
            }
            DataKeys.tryApply(entity, found, mapEntry.getValue(), queue.error);
        }
    }
    if (queue.shouldShowGood()) {
        queue.outGood("Edited the entity "
                + ColorSet.emphasis + entityTag.debug() + ColorSet.good
                + " to have the following properties: "
                + ColorSet.emphasis + propertyMap.debug());
    }
}
 
開發者ID:DenizenScript,項目名稱:Denizen2Sponge,代碼行數:27,代碼來源:EditEntityCommand.java

示例6: fireDropItemEvent

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
private void fireDropItemEvent(World world, Vector3i pos) {
    List<ItemStack> stacks = getDroppedItems();
    if (stacks.isEmpty()) {
        return;
    }
    List<Entity> entities = Lists.newArrayList();
    for (ItemStack stack : stacks) {
        Entity drop = createItemDrop(world, pos, stack);
        entities.add(drop);
    }
    Cause cause = Cause.source(BlockSpawnCause.builder()
            .type(SpawnTypes.DROPPED_ITEM)
            .block(world.createSnapshot(pos))
            .build())
            .build();
    DropItemEvent.Destruct harvestEvent = SpongeEventFactory.createDropItemEventDestruct(cause, entities);
    if (Sponge.getEventManager().post(harvestEvent)) {
        return;
    }
    for (Entity entity : harvestEvent.getEntities()) {
        world.spawnEntity(entity, cause);
    }
}
 
開發者ID:simon816,項目名稱:Industrialization,代碼行數:24,代碼來源:PipeBlock.java

示例7: clickEntity

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
/** return true to cancel the event in the parent */
	static boolean clickEntity(Player source, Entity target, Button side) {
		//try to get shop:
		Location<World> tl = target.getLocation();
		Optional<NPCguard> npc = VillagerShops.getNPCfromLocation(tl);
		
		if (npc.isPresent()) {
//			VillagerShops.l("NPC: " + npc.get().getDisplayName().toPlain());
//			if (side == Button.right) {
				if (npc.get().getPreparator().size()>0) {
					npc.get().updateStock();
					source.openInventory(npc.get().getInventory(source.getUniqueId()));
					VillagerShops.openShops.put(source.getUniqueId(), npc.get().getIdentifier());
				}
//			}
			
			return true;
		}
		return false;
	}
 
開發者ID:DosMike,項目名稱:VillagerShops,代碼行數:21,代碼來源:InteractionHandler.java

示例8: teleport

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
public boolean teleport(final World world, final Vector3d vector){
	if (this.getVehicle().isPresent()){
		final Entity horse = this.getVehicle().get();
		if (horse.toContainer().getView(DataQuery.of("UnsafeData")).isPresent()){
			if (horse.toContainer().getView(DataQuery.of("UnsafeData")).get().getString(DataQuery.of("OwnerUUID")).isPresent()){
				UUID owner = UUID.fromString(horse.toContainer().getView(DataQuery.of("UnsafeData")).get().getString(DataQuery.of("OwnerUUID")).get());
				if (this.getUniqueId().equals(owner)){
					this.setVehicle(null);
					horse.transferToWorld(world, vector);
					
					if (this.setLocation(world.getLocation(vector))) {
						this.setVehicle(horse);
						return true;
					}
				}
			}
		}
	}
	
	return this.setLocation(world.getLocation(vector));
}
 
開發者ID:EverCraft,項目名稱:EverAPI,代碼行數:22,代碼來源:EPlayer.java

示例9: commandButcherType

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
private CompletableFuture<Boolean> commandButcherType(EPlayer player, EntityType type, int radius) {
	Collection<Entity> list = player.getWorld().getEntities(entity -> 
		entity.getType().equals(type) && entity.getLocation().getPosition().distance(player.getLocation().getPosition()) <= radius);
	
	if (!list.isEmpty()){
		list.forEach(entity -> entity.remove());
		EEMessages.BUTCHER_TYPE_RADIUS.sender()
			.replace("{radius}", String.valueOf(radius))
			.replace("{count}", String.valueOf(list.size()))
			.replace("{entity}", getButtomEntity(type))
			.sendTo(player);
		return CompletableFuture.completedFuture(true);
	} else {
		EEMessages.BUTCHER_NOENTITY.sendTo(player);
		return CompletableFuture.completedFuture(false);
	}
}
 
開發者ID:EverCraft,項目名稱:EverEssentials,代碼行數:18,代碼來源:EEButcherType.java

示例10: removeEntity

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Endpoint(method = HttpMethod.DELETE, path = "/:entity", perm = "delete")
public void removeEntity(ServletData data, CachedEntity entity) {
    Optional<Boolean> deleted = WebAPI.runOnMain(() -> {
        Optional<Entity> live = entity.getLive();
        if (!live.isPresent())
            return false;

        live.get().remove();
        return true;
    });

    if (!deleted.isPresent() || !deleted.get()) {
        data.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Could not delete entity " + entity.getUUID());
        return;
    }

    cacheService.removeEntity(entity.getUUID());

    data.addData("ok", true, false);
    data.addData("entity", entity, true);
}
 
開發者ID:Valandur,項目名稱:Web-API,代碼行數:22,代碼來源:EntityServlet.java

示例11: moveListener

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Listener(order = Order.LATE)
public void moveListener(MoveEntityEvent event) {
    Entity entity = event.getTargetEntity();
    if (!entity.getType().equals(EntityTypes.PLAYER)) return;
    Player player = (Player) entity;
    if (!Animation1OpenManager.PLAYERS_OPENING_ANIMATION1.containsKey(player) || OPENED_PLAYERS.containsKey(player)) return;
    if (Utils.isLocationChanged(event.getFromTransform(), event.getToTransform(), true)) {
        event.setCancelled(true);
    }
}
 
開發者ID:GreWeMa,項目名稱:gwm_Crates,代碼行數:11,代碼來源:Animation1Listener.java

示例12: onEntitySpawn

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Listener
public void onEntitySpawn(SpawnEntityEvent event)
{

    for (Entity entity: event.getEntities())
    {
        //EagleFactions.getEagleFactions().getLogger().info(entity.toString());

        if(entity.toString().contains("EntityCustomNpc")) return;

        if(entity instanceof Hostile)
        {
            if((MainLogic.getMobSpawning() == false) && FactionLogic.isClaimed(entity.getWorld().getUniqueId(), entity.getLocation().getChunkPosition()))
            {
              //  EagleFactions.getEagleFactions().getLogger().info("Entity is a Hostile!!!! :O");
              //  EagleFactions.getEagleFactions().getLogger().info("Printing enity: " + entity.toString());
              //  EagleFactions.getEagleFactions().getLogger().info("Prining spawn cause: " + event.getCause().toString());

                event.setCancelled(true);
                return;
            }
        }
        else
        {
           // if(FactionLogic.getFactionNameByChunk(entity.getWorld().getUniqueId(), entity.getLocation().getChunkPosition()).equals("SafeZone"))
           // {
           //     EagleFactions.getEagleFactions().getLogger().info("Entity is friendly. :D");
           //     EagleFactions.getEagleFactions().getLogger().info("Printing enity: " + entity.toString());
           //     EagleFactions.getEagleFactions().getLogger().info("Prining spawn cause: " + event.getCause().toString());
           // }

            return;
        }

        //EntityType for CustomNPC (it isn't count as a monster) => EntityCustomNpc


    }
}
 
開發者ID:Aquerr,項目名稱:EagleFactions,代碼行數:40,代碼來源:EntitySpawnListener.java

示例13: removeArmorstands

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
public void removeArmorstands() {
    for(World bit: Sponge.getServer().getWorlds()) {
        for (Entity ent : bit.getEntities()) {
            if (ent instanceof ArmorStand) {
                ArmorStand arm = (ArmorStand) ent;
                if (arm.getCreator().isPresent()) {
                    if (arm.getCreator().get().equals(UUID.fromString(armorStandIdentifier))) {
                        arm.remove();
                    }
                }
            }
        }
    }
}
 
開發者ID:codeHusky,項目名稱:HuskyCrates-Sponge,代碼行數:15,代碼來源:HuskyCrates.java

示例14: onArmorStand

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Listener
public void onArmorStand(SpawnEntityEvent.ChunkLoad event){
    for(Entity e : event.getEntities()){
        if(!(e instanceof ArmorStand))
            continue;
        ArmorStand as = (ArmorStand) e;
        if (as.getCreator().isPresent()) {
            if (as.getCreator().get().equals(UUID.fromString(armorStandIdentifier))) {
                as.remove();
            }
        }
    }
}
 
開發者ID:codeHusky,項目名稱:HuskyCrates-Sponge,代碼行數:14,代碼來源:HuskyCrates.java

示例15: parseValue

import org.spongepowered.api.entity.Entity; //導入依賴的package包/類
@Override
public ParseResult<ClanPlayer> parseValue(CommandSource commandSource, String value, NormalFilledParameter parameter) {
    ClanPlayerImpl clanPlayer = null;
    if (value.startsWith("@")) {
        Set<Entity> entities = Selector.parse(value).resolve(commandSource);
        if (entities.size() > 0 && entities.toArray()[0] instanceof Player) {
            UUID uuid = ((Player) entities.toArray()[0]).getUniqueId();
            clanPlayer = ClansImpl.getInstance().getClanPlayer(uuid);
        } else {
            return ParseResult.newErrorResult("Selector produced no results");
        }

    } else {
        clanPlayer = ClansImpl.getInstance().getClanPlayer(value);
    }


    if (clanPlayer != null) {
        return ParseResult.newSuccessResult((ClanPlayer) clanPlayer);
    } else {
        UUID playerUUID = UUIDUtils.getUUID(value);
        Optional<Player> playerOp = playerUUID == null ? Optional.empty() : Sponge.getServer().getPlayer(playerUUID);
        if (playerOp.isPresent()) {
            return ParseResult.newSuccessResult(ClansImpl.getInstance().createClanPlayer(playerUUID, value));
        } else {
            return ParseResult.newErrorResult(Messages.PLAYER_DOES_NOT_EXIST);
        }
    }
}
 
開發者ID:iLefty,項目名稱:mcClans,代碼行數:30,代碼來源:ClanPlayerParser.java


注:本文中的org.spongepowered.api.entity.Entity類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。