From 26a9772f3451eab2754f7413913504909ee89128 Mon Sep 17 00:00:00 2001 From: Grafe Date: Tue, 26 Mar 2013 13:37:43 +0100 Subject: [PATCH] Moved GameMessage to SIGNMsg and SIGNSoundMsg Signed-off-by: Grafe --- src/com/dre/dungeonsxl/game/GameMessage.java | 57 ------------------- src/com/dre/dungeonsxl/game/GameWorld.java | 4 -- src/com/dre/dungeonsxl/signs/SIGNMsg.java | 13 +++-- .../dre/dungeonsxl/signs/SIGNSoundMsg.java | 21 +++++-- 4 files changed, 25 insertions(+), 70 deletions(-) delete mode 100644 src/com/dre/dungeonsxl/game/GameMessage.java diff --git a/src/com/dre/dungeonsxl/game/GameMessage.java b/src/com/dre/dungeonsxl/game/GameMessage.java deleted file mode 100644 index 1983e5bc..00000000 --- a/src/com/dre/dungeonsxl/game/GameMessage.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.dre.dungeonsxl.game; - -import java.util.concurrent.CopyOnWriteArrayList; - -import org.bukkit.Location; -import org.getspout.spoutapi.Spout; -import org.getspout.spoutapi.SpoutManager; -import org.getspout.spoutapi.player.SpoutPlayer; - -import com.dre.dungeonsxl.DPlayer; -import com.dre.dungeonsxl.P; - -public class GameMessage { - - //Variables - public CopyOnWriteArrayList playerDone=new CopyOnWriteArrayList(); - - public Location location; - public String msg; - public int radius; - public boolean isSpoutSoundMsg; - - public GameMessage(Location location, String msg,int radius,boolean isSpoutSoundMsg){ - this.location=location; - this.msg = msg; - this.radius=radius; - this.isSpoutSoundMsg=isSpoutSoundMsg; - } - - - //Static - - public static void update(GameWorld gworld){ - for(GameMessage gmessage:gworld.messages){ - for(DPlayer dplayer:DPlayer.get(gworld.world)){ - if(!gmessage.playerDone.contains(dplayer)){ - if(dplayer.player.getLocation().distance(gmessage.location) secureObjects = new CopyOnWriteArrayList(); public CopyOnWriteArrayList loadedChunks = new CopyOnWriteArrayList(); - public CopyOnWriteArrayList messages = new CopyOnWriteArrayList(); public CopyOnWriteArrayList signClass=new CopyOnWriteArrayList(); public CopyOnWriteArrayList dmobs = new CopyOnWriteArrayList(); @@ -224,9 +223,6 @@ public class GameWorld { public static void update(){ for(GameWorld gworld:gworlds){ - //Update Messages - GameMessage.update(gworld); - //Update Spiders for(LivingEntity mob:gworld.world.getLivingEntities()){ if(mob.getType()==EntityType.SPIDER){ diff --git a/src/com/dre/dungeonsxl/signs/SIGNMsg.java b/src/com/dre/dungeonsxl/signs/SIGNMsg.java index 47709f72..bf01d227 100644 --- a/src/com/dre/dungeonsxl/signs/SIGNMsg.java +++ b/src/com/dre/dungeonsxl/signs/SIGNMsg.java @@ -1,8 +1,7 @@ package com.dre.dungeonsxl.signs; import org.bukkit.block.Sign; - -import com.dre.dungeonsxl.game.GameMessage; +import org.bukkit.entity.Player; import com.dre.dungeonsxl.game.GameWorld; public class SIGNMsg extends DSign{ @@ -11,6 +10,9 @@ public class SIGNMsg extends DSign{ public static String buildPermissions = "dxl.sign.msg"; public static boolean onDungeonInit = false; + //Variables + private String msg; + public SIGNMsg(Sign sign, GameWorld gworld) { super(sign, gworld); } @@ -29,7 +31,7 @@ public class SIGNMsg extends DSign{ if(lines[1]!=""&&lines[2]!=""){ String msg = gworld.config.getMsg(p.parseInt(lines[1]),true); if(msg!=null){ - gworld.messages.add(new GameMessage(sign.getBlock().getLocation(), msg,p.parseInt(lines[2]), false)); + this.msg = msg; sign.setTypeId(0); } } @@ -37,7 +39,8 @@ public class SIGNMsg extends DSign{ @Override public void onTrigger() { - // TODO Auto-generated method stub - + for(Player player : gworld.world.getPlayers()){ + p.msg(player, msg); + } } } diff --git a/src/com/dre/dungeonsxl/signs/SIGNSoundMsg.java b/src/com/dre/dungeonsxl/signs/SIGNSoundMsg.java index a85efcf0..2efeb170 100644 --- a/src/com/dre/dungeonsxl/signs/SIGNSoundMsg.java +++ b/src/com/dre/dungeonsxl/signs/SIGNSoundMsg.java @@ -1,8 +1,12 @@ package com.dre.dungeonsxl.signs; import org.bukkit.block.Sign; +import org.bukkit.entity.Player; +import org.getspout.spoutapi.Spout; +import org.getspout.spoutapi.SpoutManager; +import org.getspout.spoutapi.player.SpoutPlayer; -import com.dre.dungeonsxl.game.GameMessage; +import com.dre.dungeonsxl.P; import com.dre.dungeonsxl.game.GameWorld; public class SIGNSoundMsg extends DSign{ @@ -11,6 +15,9 @@ public class SIGNSoundMsg extends DSign{ public static String buildPermissions = "dxl.sign.soundmsg"; public static boolean onDungeonInit = false; + //Variables + private String msg; + public SIGNSoundMsg(Sign sign, GameWorld gworld) { super(sign, gworld); } @@ -29,7 +36,7 @@ public class SIGNSoundMsg extends DSign{ if(lines[1]!=""&&lines[2]!=""){ String msg = gworld.config.getMsg(p.parseInt(lines[1]),true); if(msg!=null){ - gworld.messages.add(new GameMessage(sign.getBlock().getLocation(), msg,p.parseInt(lines[2]), true)); + this.msg = msg; sign.setTypeId(0); } } @@ -37,7 +44,13 @@ public class SIGNSoundMsg extends DSign{ @Override public void onTrigger() { - // TODO Auto-generated method stub - + if(P.p.isSpoutEnabled){ + for(Player player : gworld.world.getPlayers()){ + SpoutPlayer sPlayer = Spout.getServer().getPlayer(player.getName()); + if(sPlayer.isSpoutCraftEnabled()){ + SpoutManager.getSoundManager().playCustomMusic(P.p, sPlayer, this.msg, false, this.sign.getLocation()); + } + } + } } }