本文整理汇总了Java中org.spongepowered.api.effect.potion.PotionEffect类的典型用法代码示例。如果您正苦于以下问题:Java PotionEffect类的具体用法?Java PotionEffect怎么用?Java PotionEffect使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PotionEffect类属于org.spongepowered.api.effect.potion包,在下文中一共展示了PotionEffect类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: removePotion
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
public boolean removePotion(PotionEffect effect){
if (this.user.get(Keys.POTION_EFFECTS).isPresent()){
List<PotionEffect> effects = this.user.get(Keys.POTION_EFFECTS).get();
boolean check = false;
int cpt = 0;
while(effects.size() > cpt && check == false){
if (effects.get(cpt).equals(effect)){
effects.remove(cpt);
check = true;
}
cpt++;
}
this.user.offer(Keys.POTION_EFFECTS, effects);
return true;
} else {
return false;
}
}
开发者ID:EverCraft,项目名称:EverAPI,代码行数:19,代码来源:UserKeys.java
示例2: registerDefaults
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void registerDefaults() {
register(new LanternFish("minecraft", "cod", "item.fish.cod.raw.name", 0,
builder -> builder
.add(foodRestoration(2))
.add(saturation(0.4))));
register(new LanternFish("minecraft", "salmon", "item.fish.salmon.raw.name", 1,
builder -> builder
.add(foodRestoration(2))
.add(saturation(0.4))));
register(new LanternFish("minecraft", "clownfish", "item.fish.clownfish.raw.name", 2,
builder -> builder
.add(foodRestoration(1))
.add(saturation(0.2))));
register(new LanternFish("minecraft", "pufferfish", "item.fish.pufferfish.raw.name", 3,
builder -> builder
.add(foodRestoration(1))
.add(saturation(0.2))
.add(applicableEffects(
PotionEffect.of(PotionEffectTypes.POISON, 3, 1200),
PotionEffect.of(PotionEffectTypes.HUNGER, 2, 300),
PotionEffect.of(PotionEffectTypes.NAUSEA, 1, 300)))));
}
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:24,代码来源:FishRegistryModule.java
示例3: get
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public Collection<PotionEffect> get(ItemType itemType, @Nullable ItemStack itemStack) {
if (itemStack == null) {
return Collections.emptyList();
}
final PotionType potionType = itemStack.get(LanternKeys.POTION_TYPE).orElse(null);
List<PotionEffect> potionEffects = null;
if (potionType != null) {
potionEffects = potionType.getEffects();
}
final List<PotionEffect> extraPotionEffects = itemStack.get(Keys.POTION_EFFECTS).orElse(null);
if (extraPotionEffects != null) {
if (potionEffects != null) {
potionEffects = PotionEffectHelper.merge(potionEffects, extraPotionEffects);
} else {
potionEffects = extraPotionEffects;
}
}
return potionEffects == null ? ImmutableSet.of() : ImmutableSet.copyOf(potionEffects);
}
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:21,代码来源:PotionEffectsProvider.java
示例4: serialize
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
public static DataView serialize(PotionEffect potionEffect) {
final DataView dataView = DataContainer.createNew(DataView.SafetyMode.NO_DATA_CLONED);
dataView.set(AMPLIFIER, (byte) potionEffect.getAmplifier());
dataView.set(DURATION, potionEffect.getDuration());
dataView.set(AMBIENT, (byte) (potionEffect.isAmbient() ? 1 : 0));
if (potionEffect.getShowParticles()) {
dataView.set(SHOW_PARTICLES, (byte) 1);
}
final LanternPotionEffectType potionEffectType = (LanternPotionEffectType) potionEffect.getType();
final int internalId = potionEffectType.getInternalId();
if (internalId > 0xff) {
dataView.set(IDENTIFIER, internalId);
} else {
dataView.set(IDENTIFIER, (byte) internalId);
}
return dataView;
}
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:18,代码来源:PotionEffectSerializer.java
示例5: buildContent
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
protected Optional<PotionEffect> buildContent(DataView container) throws InvalidDataException {
checkNotNull(container);
if (!container.contains(DataQueries.POTION_TYPE) || !container.contains(DataQueries.POTION_DURATION)
|| !container.contains(DataQueries.POTION_AMPLIFIER) || !container.contains(DataQueries.POTION_AMBIANCE)
|| !container.contains(DataQueries.POTION_SHOWS_PARTICLES)) {
return Optional.empty();
}
String effectName = container.getString(DataQueries.POTION_TYPE).get();
Optional<PotionEffectType> optional = Sponge.getRegistry().getType(PotionEffectType.class, effectName);
if (!optional.isPresent()) {
throw new InvalidDataException("The container has an invalid potion type name: " + effectName);
}
int duration = container.getInt(DataQueries.POTION_DURATION).get();
int amplifier = container.getInt(DataQueries.POTION_AMPLIFIER).get();
boolean ambient = container.getBoolean(DataQueries.POTION_AMBIANCE).get();
boolean showParticles = container.getBoolean(DataQueries.POTION_SHOWS_PARTICLES).get();
return Optional.of(new LanternPotionEffect(optional.get(), duration, amplifier, ambient, showParticles));
}
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:20,代码来源:LanternPotionEffectBuilder.java
示例6: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run() {
PotionEffect speedEffect = PotionEffect.builder()
.duration(3 * 20)
.amplifier(5)
.particles(false)
.potionType(PotionEffectTypes.SPEED)
.build();
for (World world : getWorlds()) {
for (Entity entity : world.getEntities(p -> p.getType().equals(EntityTypes.PLAYER))) {
if (entity.get(Keys.GAME_MODE).orElse(GameModes.CREATIVE) != GameModes.SURVIVAL) {
continue;
}
List<PotionEffect> potionEffects = entity.getOrElse(Keys.POTION_EFFECTS, new ArrayList<>(1));
potionEffects.add(speedEffect);
entity.offer(Keys.POTION_EFFECTS, potionEffects);
}
}
}
开发者ID:Skelril,项目名称:Skree,代码行数:22,代码来源:MainWorldWrapper.java
示例7: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
int duration = (int) (EntityHealthUtil.getHealth(owner) * 20);
Optional<PotionEffectData> optPotionEffectData = target.getOrCreate(PotionEffectData.class);
if (optPotionEffectData.isPresent()) {
PotionEffectData potionEffectData = optPotionEffectData.get();
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.BLINDNESS, 1, duration));
target.offer(potionEffectData);
}
target.offer(Keys.FIRE_TICKS, duration);
notify(owner, Text.of(TextColors.YELLOW, "Your sword releases a deadly blaze."));
}
开发者ID:Skelril,项目名称:Skree,代码行数:18,代码来源:FearBlaze.java
示例8: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
int duration = (int) Math.min(20 * 60 * 5, EntityHealthUtil.getHealth(owner) * 18);
Optional<PotionEffectData> optOwnerPotionEffectData = owner.getOrCreate(PotionEffectData.class);
if (optOwnerPotionEffectData.isPresent()) {
PotionEffectData ownerPotionEffectData = optOwnerPotionEffectData.get();
ownerPotionEffectData.addElement(PotionEffect.of(PotionEffectTypes.SPEED, 2, duration));
owner.offer(ownerPotionEffectData);
}
Optional<PotionEffectData> optTargetPotionEffectData = target.getOrCreate(PotionEffectData.class);
if (optTargetPotionEffectData.isPresent()) {
PotionEffectData targetPotionEffectData = optTargetPotionEffectData.get();
targetPotionEffectData.addElement(PotionEffect.of(PotionEffectTypes.SLOWNESS, 2, duration));
target.offer(targetPotionEffectData);
}
if (optOwnerPotionEffectData.isPresent() || optTargetPotionEffectData.isPresent()) {
notify(owner, Text.of(TextColors.YELLOW, "You gain an agile advantage over your opponent."));
}
}
开发者ID:Skelril,项目名称:Skree,代码行数:23,代码来源:Agility.java
示例9: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
Optional<PotionEffectData> optPotionEffectData = target.getOrCreate(PotionEffectData.class);
if (!optPotionEffectData.isPresent()) {
return;
}
PotionEffectData potionEffectData = optPotionEffectData.get();
int duration = (int) (EntityHealthUtil.getHealth(owner) * 18);
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.SLOWNESS, 2, duration));
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.WEAKNESS, 2, duration));
target.offer(potionEffectData);
notify(owner, Text.of(TextColors.YELLOW, "Your bow slows its victim."));
}
开发者ID:Skelril,项目名称:Skree,代码行数:18,代码来源:MagicChain.java
示例10: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
Optional<PotionEffectData> optPotionEffectData = owner.getOrCreate(PotionEffectData.class);
if (!optPotionEffectData.isPresent()) {
return;
}
PotionEffectData potionEffectData = optPotionEffectData.get();
int duration = (int) (EntityHealthUtil.getHealth(target) * 10);
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.REGENERATION, 2, duration));
owner.offer(potionEffectData);
notify(owner, Text.of(TextColors.YELLOW, "You gain a healing aura."));
}
开发者ID:Skelril,项目名称:Skree,代码行数:17,代码来源:Regen.java
示例11: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
Optional<PotionEffectData> optPotionEffectData = target.getOrCreate(PotionEffectData.class);
if (!optPotionEffectData.isPresent()) {
return;
}
PotionEffectData potionEffectData = optPotionEffectData.get();
int duration = (int) (EntityHealthUtil.getHealth(target) * 10);
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.SLOWNESS, 9, duration));
if (target instanceof Player) {
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.BLINDNESS, 0, 20 * 4));
}
target.offer(potionEffectData);
target.getWorld().playSound(SoundTypes.ENTITY_GHAST_SCREAM, target.getLocation().getPosition(), 1, .02F);
notify(owner, Text.of(TextColors.YELLOW, "Your weapon traps your foe in their own sins."));
}
开发者ID:Skelril,项目名称:Skree,代码行数:22,代码来源:EvilFocus.java
示例12: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
Optional<PotionEffectData> optPotionEffectData = target.getOrCreate(PotionEffectData.class);
if (!optPotionEffectData.isPresent()) {
return;
}
PotionEffectData potionEffectData = optPotionEffectData.get();
int duration = (int) Math.min(20 * 60 * 5, EntityHealthUtil.getHealth(owner) * 24);
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.WITHER, 2, duration));
target.offer(potionEffectData);
notify(owner, Text.of(TextColors.YELLOW, "Your weapon curses its victim."));
}
开发者ID:Skelril,项目名称:Skree,代码行数:17,代码来源:Curse.java
示例13: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
Optional<PotionEffectData> optPotionEffectData = target.getOrCreate(PotionEffectData.class);
if (!optPotionEffectData.isPresent()) {
return;
}
PotionEffectData potionEffectData = optPotionEffectData.get();
int duration = (int) Math.min(1200, EntityHealthUtil.getHealth(owner) * 18);
potionEffectData.addElement(PotionEffect.of(PotionEffectTypes.NAUSEA, 1, duration));
target.offer(potionEffectData);
notify(owner, Text.of(TextColors.YELLOW, "Your sword confuses its victim."));
}
开发者ID:Skelril,项目名称:Skree,代码行数:18,代码来源:Confuse.java
示例14: run
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void run(Living owner, Living target, DamageEntityEvent event) {
int duration = (int) Math.min(20 * 60 * 5, EntityHealthUtil.getHealth(owner) * 18);
Optional<PotionEffectData> optOwnerPotionEffectData = owner.getOrCreate(PotionEffectData.class);
if (optOwnerPotionEffectData.isPresent()) {
PotionEffectData ownerPotionEffectData = optOwnerPotionEffectData.get();
ownerPotionEffectData.addElement(PotionEffect.of(PotionEffectTypes.STRENGTH, 1, duration));
owner.offer(ownerPotionEffectData);
}
Optional<PotionEffectData> optTargetPotionEffectData = target.getOrCreate(PotionEffectData.class);
if (optTargetPotionEffectData.isPresent()) {
PotionEffectData targetPotionEffectData = optTargetPotionEffectData.get();
targetPotionEffectData.addElement(PotionEffect.of(PotionEffectTypes.WEAKNESS, 1, duration));
target.offer(targetPotionEffectData);
}
if (optOwnerPotionEffectData.isPresent() || optTargetPotionEffectData.isPresent()) {
notify(owner, Text.of(TextColors.YELLOW, "Your sword leaches strength from its victim."));
}
}
开发者ID:Skelril,项目名称:Skree,代码行数:23,代码来源:Weaken.java
示例15: runFrimus
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
private void runFrimus() {
createWall(
getRegion(FreakyFourBoss.FRIMUS),
type -> type == BlockTypes.AIR,
type -> type == BlockTypes.LAVA || type == BlockTypes.FLOWING_LAVA,
BlockTypes.AIR,
BlockTypes.LAVA,
config.frimusWallDensity,
-1
);
for (Player player : getPlayers(PlayerClassifier.PARTICIPANT)) {
List<PotionEffect> oldPotions = player.get(Keys.POTION_EFFECTS).orElse(new ArrayList<>());
List<PotionEffect> newPotions = oldPotions.stream().filter(
effect -> effect.getType() != PotionEffectTypes.FIRE_RESISTANCE
).collect(Collectors.toList());
if (oldPotions.size() != newPotions.size()) {
player.offer(Keys.POTION_EFFECTS, newPotions);
}
}
}
开发者ID:Skelril,项目名称:Skree,代码行数:23,代码来源:FreakyFourInstance.java
示例16: throwSlashPotion
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
private void throwSlashPotion(Location<World> location) {
PotionEffectType[] thrownTypes = new PotionEffectType[] {
PotionEffectTypes.INSTANT_DAMAGE, PotionEffectTypes.INSTANT_DAMAGE,
PotionEffectTypes.POISON, PotionEffectTypes.WEAKNESS
};
Entity entity = location.getExtent().createEntity(EntityTypes.SPLASH_POTION, location.getPosition());
entity.setVelocity(new Vector3d(
random.nextDouble() * .5 - .25,
random.nextDouble() * .4 + .1,
random.nextDouble() * .5 - .25
));
PotionEffectType type = Probability.pickOneOf(thrownTypes);
PotionEffect effect = PotionEffect.of(type, 2, type.isInstant() ? 1 : 15 * 20);
entity.offer(Keys.POTION_EFFECTS, Lists.newArrayList(effect));
getRegion().getExtent().spawnEntity(entity, Cause.source(SpawnCause.builder().type(SpawnTypes.PLUGIN).build()).build());
}
开发者ID:Skelril,项目名称:Skree,代码行数:21,代码来源:PatientXInstance.java
示例17: throwSlashPotion
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
private void throwSlashPotion(Location<World> location) {
PotionEffectType[] thrownTypes = new PotionEffectType[] {
PotionEffectTypes.INSTANT_DAMAGE, PotionEffectTypes.INSTANT_DAMAGE,
PotionEffectTypes.POISON, PotionEffectTypes.WEAKNESS
};
Entity entity = location.getExtent().createEntity(EntityTypes.SPLASH_POTION, location.getPosition());
entity.setVelocity(new Vector3d(
random.nextDouble() * .5 - .25,
random.nextDouble() * .4 + .1,
random.nextDouble() * .5 - .25
));
PotionEffectType type = Probability.pickOneOf(thrownTypes);
PotionEffect effect = PotionEffect.of(type, 2, type.isInstant() ? 1 : 15 * 20);
entity.offer(Keys.POTION_EFFECTS, Lists.newArrayList(effect));
location.getExtent().spawnEntity(entity, Cause.source(SpawnCause.builder().type(SpawnTypes.PLUGIN).build()).build());
}
开发者ID:Skelril,项目名称:Skree,代码行数:21,代码来源:DeadlyPotionCurse.java
示例18: handle
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Override
public void handle(BrewingEvent.Start event) {
event.filter(stack -> {
if (stack.getItem() == ItemTypes.SPLASH_POTION) {
return false;
}
if (stack.getItem() == ItemTypes.LINGERING_POTION) {
return false;
}
if (stack.supports(Keys.POTION_EFFECTS)) {
Optional<List<PotionEffect>> optPotions = stack.get(Keys.POTION_EFFECTS);
if (!optPotions.isPresent()) {
return true;
}
for (PotionEffect effect : optPotions.get()) {
if (effect.getType() == PotionEffectTypes.REGENERATION) {
return false;
}
if (effect.getAmplifier() > 1) {
return false;
}
}
}
return true;
});
}
开发者ID:liachmodded,项目名称:UHC-Reloaded,代码行数:27,代码来源:CancelPotionBrewingListener.java
示例19: move
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
@Command(desc = "Moves a world into another universe")
public void move(CommandSource context, World world, String universe)
{
// TODO old universe is not removed
String previous = module.getUniverse(world);
if (previous.equals(universe))
{
i18n.send(context, NEGATIVE, "{world} is already in the universe {name}", world, universe);
return;
}
module.setUniverse(world, universe);
i18n.send(context, POSITIVE, "{world} is now in the universe {input}!", world, universe);
Sponge.getServer().getOnlinePlayers().stream().filter(player -> player.getWorld().equals(world)).forEach(
p -> {
MultiverseData data = p.get(MultiverseData.class).get();
data.from(previous, world).applyFromPlayer(p);
data.from(universe, world).applyToPlayer(p);
i18n.send(p, NEUTRAL, "The sky opens up and sucks in the whole world.");
p.playSound(SoundTypes.BLOCK_PORTAL_TRIGGER, p.getLocation().getPosition(), 1);
p.offer(Keys.POTION_EFFECTS, Arrays.asList(PotionEffect.of(PotionEffectTypes.BLINDNESS, 1, 2 * 20)));
i18n.send(p, NEUTRAL, "When you open your eyes you now are in {input#univserse}.", universe);
p.offer(data);
});
}
开发者ID:CubeEngine,项目名称:modules-main,代码行数:26,代码来源:MultiverseCommands.java
示例20: addPotion
import org.spongepowered.api.effect.potion.PotionEffect; //导入依赖的package包/类
public boolean addPotion(PotionEffect potion){
List<PotionEffect> effects = new ArrayList<PotionEffect>();
if (this.user.get(Keys.POTION_EFFECTS).isPresent()){
effects = this.user.get(Keys.POTION_EFFECTS).get();
}
effects.add(potion);
this.user.offer(Keys.POTION_EFFECTS, effects);
return true;
}
开发者ID:EverCraft,项目名称:EverAPI,代码行数:10,代码来源:UserKeys.java
注:本文中的org.spongepowered.api.effect.potion.PotionEffect类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论