测试版1.0.5
This commit is contained in:
parent
7ce09606ba
commit
832e93a2ef
|
@ -0,0 +1,71 @@
|
|||
package com.yaohun.enderdragonwars.effect.types;
|
||||
|
||||
import com.sk89q.worldedit.world.entity.EntityType;
|
||||
import com.yaohun.enderdragonwars.Main;
|
||||
import com.yaohun.enderdragonwars.effect.GiftEffect;
|
||||
import com.yaohun.enderdragonwars.game.Game;
|
||||
import com.yaohun.enderdragonwars.manager.GiftEffectManager;
|
||||
import net.kyori.adventure.sound.Sound;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.TNTPrimed;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class RandomBox extends GiftEffect {
|
||||
|
||||
public RandomBox(String audience) {
|
||||
super(audience);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Game game) {
|
||||
Player player = game.getPlayer();
|
||||
List<String> stringList = new ArrayList<>();
|
||||
stringList.add("清理背包");
|
||||
stringList.add("火山喷发");
|
||||
stringList.add("幸运方块");
|
||||
stringList.add("黑洞");
|
||||
stringList.add("五雷轰顶");
|
||||
stringList.add("装备清空");
|
||||
stringList.add("岩浆泡澡");
|
||||
stringList.add("钢铁保安");
|
||||
stringList.add("6倍血量");
|
||||
stringList.add("原地复活");
|
||||
stringList.add("魔豆天梯");
|
||||
stringList.add("世界毁灭");
|
||||
stringList.add("变大");
|
||||
stringList.add("变小");
|
||||
stringList.add("安全庇护所");
|
||||
stringList.add("螺旋升天");
|
||||
stringList.add("怪物军团");
|
||||
Collections.shuffle(stringList);
|
||||
Random random = new Random();
|
||||
String eventName = stringList.get(random.nextInt(stringList.size()));
|
||||
BukkitTask task = new BukkitRunnable() {
|
||||
private int i = 0;
|
||||
@Override
|
||||
public void run() {
|
||||
if (i >= 12) {
|
||||
player.sendTitle("§6随机盲盒","§9整蛊效果: §e"+eventName);
|
||||
player.playSound(player.getLocation(),Sound.BLOCK_COMPARATOR_CLICK,1,1);
|
||||
GiftEffectManager.addGiftEffect(getAudience(),eventName);
|
||||
Bukkit.broadcastMessage("§c[消息]§a随机盲盒抽中了 §e"+eventName);
|
||||
cancel();
|
||||
return;
|
||||
}
|
||||
player.sendTitle("§6随机盲盒","§9整蛊效果: §e"+stringList.get(random.nextInt(stringList.size())));
|
||||
player.playSound(player.getLocation(),Sound.BLOCK_COMPARATOR_CLICK,1,1);
|
||||
i++;
|
||||
}
|
||||
}.runTaskTimer(Main.plugin, 0L, 5L);
|
||||
Main.game.addTasks(task);
|
||||
}
|
||||
|
||||
}
|
|
@ -15,6 +15,8 @@ public class SummonIronGolem extends GiftEffect {
|
|||
public void apply(Game game) {
|
||||
Player player = game.getPlayer();
|
||||
player.getWorld().spawnEntity(player.getLocation(), EntityType.IRON_GOLEM);
|
||||
player.getWorld().spawnEntity(player.getLocation(), EntityType.IRON_GOLEM);
|
||||
player.getWorld().spawnEntity(player.getLocation(), EntityType.IRON_GOLEM);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
package com.yaohun.enderdragonwars.effect.types;
|
||||
|
||||
import com.yaohun.enderdragonwars.effect.GiftEffect;
|
||||
import com.yaohun.enderdragonwars.game.Game;
|
||||
import com.yaohun.enderdragonwars.util.RandomUtil;
|
||||
import org.bukkit.entity.Creeper;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Zombie;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class SummonMobs extends GiftEffect {
|
||||
|
||||
public SummonMobs(String audience) {
|
||||
super(audience);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Game game) {
|
||||
Player player = game.getPlayer();
|
||||
for (int i = 0; i < 5;i++){
|
||||
Zombie zombie = (Zombie) player.getWorld().spawnEntity(player.getLocation(), EntityType.ZOMBIE);
|
||||
zombie.setVelocity(new Vector(RandomUtil.getRandomDouble(-1,1,1),RandomUtil.getRandomDouble(-1,1,1),RandomUtil.getRandomDouble(-1,1,1)));
|
||||
}
|
||||
for (int i = 0; i < 5;i++){
|
||||
Creeper creeper = (Creeper) player.getWorld().spawnEntity(player.getLocation(), EntityType.CREEPER);
|
||||
creeper.setVelocity(new Vector(RandomUtil.getRandomDouble(-1,1,1),RandomUtil.getRandomDouble(-1,1,1),RandomUtil.getRandomDouble(-1,1,1)));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
package com.yaohun.enderdragonwars.effect.types;
|
||||
|
||||
import com.sk89q.worldedit.world.entity.EntityType;
|
||||
import com.yaohun.enderdragonwars.Main;
|
||||
import com.yaohun.enderdragonwars.effect.GiftEffect;
|
||||
import com.yaohun.enderdragonwars.game.Game;
|
||||
import com.yaohun.enderdragonwars.util.RandomUtil;
|
||||
import net.kyori.adventure.sound.Sound;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Creeper;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.TNTPrimed;
|
||||
import org.bukkit.entity.Zombie;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class WuHuJump extends GiftEffect {
|
||||
|
||||
public WuHuJump(String audience) {
|
||||
super(audience);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Game game) {
|
||||
Player player = game.getPlayer();
|
||||
player.setVelocity(player.getLocation().getDirection().multiply(0.5).setY(1.0));
|
||||
player.playEffect(player.getLocation(), Effect.MOBSPAWNER_FLAMES, 10);
|
||||
player.playSound(player.getLocation(), Sound.ENTITY_BAT_TAKEOFF, 1.0F, 1.0F);
|
||||
BukkitTask task = new BukkitRunnable() {
|
||||
private int i= 0;
|
||||
@Override
|
||||
public void run() {
|
||||
if(i >= 4){cancel();}
|
||||
Location location = player.getLocation();
|
||||
TNTPrimed tntPrimed = (TNTPrimed) location.getWorld().spawnEntity(location.clone().add(0,-0.5,0), EntityType.PRIMED_TNT);
|
||||
tntPrimed.setFuseTicks(5);
|
||||
tntPrimed.setYield(0.0F);
|
||||
location.getWorld().playSound(location, Sound.ENTITY_CREEPER_PRIMED, 1.0f, 1.0f);
|
||||
i++;
|
||||
}
|
||||
}.runTaskTimer(Main.plugin, 2L,1L);
|
||||
game.addTasks(task);
|
||||
}
|
||||
|
||||
}
|
|
@ -119,6 +119,9 @@ public class Game {
|
|||
return startd;
|
||||
}
|
||||
|
||||
public void addTasks(BukkitTask task){
|
||||
this.tasks.add(task);
|
||||
}
|
||||
public long getLiveTime() {
|
||||
return liveTime;
|
||||
}
|
||||
|
|
|
@ -56,6 +56,8 @@ public class GiftEffectManager {
|
|||
registerGiftEffect("变小", PlayerSmallEffect::new);
|
||||
registerGiftEffect("安全庇护所", SpawnBuildEffect::new);
|
||||
registerGiftEffect("螺旋升天", ToHeavenEffect::new);
|
||||
registerGiftEffect("怪物军团", SummonMobs::new);
|
||||
registerGiftEffect("芜湖起飞", WuHuJump::new);
|
||||
}
|
||||
|
||||
private static void registerGiftEffect(String id, Function<String, GiftEffect> giftEffectGetter) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user