From 49c77a0d7db53bfbfc02ce82d4027077e86d28d6 Mon Sep 17 00:00:00 2001 From: Drakia Date: Sat, 2 Jul 2011 20:03:42 -0700 Subject: [PATCH] License change. --- README | 4 ++- src/net/TheDgtl/Stargate/Blox.java | 7 +++++ src/net/TheDgtl/Stargate/Gate.java | 4 ++- src/net/TheDgtl/Stargate/Portal.java | 6 ++++- .../TheDgtl/Stargate/RelativeBlockVector.java | 3 ++- src/net/TheDgtl/Stargate/SignPost.java | 7 +++++ src/net/TheDgtl/Stargate/Stargate.java | 27 +++++++++++++++++++ src/net/TheDgtl/Stargate/iConomyHandler.java | 5 ++++ src/plugin.yml | 2 +- 9 files changed, 60 insertions(+), 5 deletions(-) diff --git a/README b/README index 353d8dc..5056034 100644 --- a/README +++ b/README @@ -130,8 +130,10 @@ maxgates - If non-zero, will define the maximum amount of gates allowed on a net ============= Changes ============= -[Version 0.5.0b] +[Version 0.5.0] - Updated the teleport method + - Remove always-open gates from lists + - Hopefully stop Stargate and Nether interference [Version 0.4.9] - Left-click to scroll signs up - Show "(Not Connected)" on fixed-gates with a non-existant destination diff --git a/src/net/TheDgtl/Stargate/Blox.java b/src/net/TheDgtl/Stargate/Blox.java index 44c666c..f5a9d2c 100644 --- a/src/net/TheDgtl/Stargate/Blox.java +++ b/src/net/TheDgtl/Stargate/Blox.java @@ -4,6 +4,13 @@ import org.bukkit.Location; import org.bukkit.World; import org.bukkit.block.Block; +/** + * Blox.java + * @author Shaun (sturmeh) + * @author Dinnerbone + * @author Steven "Drakia" Scott + */ + public class Blox { private int x; private int y; diff --git a/src/net/TheDgtl/Stargate/Gate.java b/src/net/TheDgtl/Stargate/Gate.java index a3d0b97..b925d95 100644 --- a/src/net/TheDgtl/Stargate/Gate.java +++ b/src/net/TheDgtl/Stargate/Gate.java @@ -15,10 +15,12 @@ import org.bukkit.Material; import org.bukkit.block.Block; /** - * Gate.java - Plug-in for hey0's minecraft mod. + * Gate.java * @author Shaun (sturmeh) * @author Dinnerbone + * @author Steven "Drakia" Scott */ + public class Gate { public static final int ANYTHING = -1; public static final int ENTRANCE = -2; diff --git a/src/net/TheDgtl/Stargate/Portal.java b/src/net/TheDgtl/Stargate/Portal.java index ec70512..27b9285 100644 --- a/src/net/TheDgtl/Stargate/Portal.java +++ b/src/net/TheDgtl/Stargate/Portal.java @@ -25,10 +25,12 @@ import org.bukkit.material.MaterialData; import org.bukkit.util.Vector; /** - * Portal.java - Plug-in for hey0's minecraft mod. + * Portal.java * @author Shaun (sturmeh) * @author Dinnerbone + * @author Steven "Drakia" Scott */ + public class Portal { // Variables used to store portal lists private static final HashMap lookupBlocks = new HashMap(); @@ -356,6 +358,8 @@ public class Portal { activePlayer = player; for (String dest : allPortalsNet.get(getNetwork().toLowerCase())) { Portal portal = getByName(dest, getNetwork()); + // Check if dest is always open (Don't show if so) + if (portal.isAlwaysOn()) continue; // Check if this player can access the dest world if (Stargate.worldFilter && !Stargate.hasPerm(player, "stargate.world." + portal.getWorld().getName(), player.isOp())) continue; // Check if dest is this portal diff --git a/src/net/TheDgtl/Stargate/RelativeBlockVector.java b/src/net/TheDgtl/Stargate/RelativeBlockVector.java index ba75588..cce507d 100644 --- a/src/net/TheDgtl/Stargate/RelativeBlockVector.java +++ b/src/net/TheDgtl/Stargate/RelativeBlockVector.java @@ -1,9 +1,10 @@ package net.TheDgtl.Stargate; /** - * RelativeBlockVector.java - Plug-in for hey0's minecraft mod. + * RelativeBlockVector.java * @author Shaun (sturmeh) * @author Dinnerbone + * @author Steven "Drakia" Scott */ public class RelativeBlockVector { private int right = 0; diff --git a/src/net/TheDgtl/Stargate/SignPost.java b/src/net/TheDgtl/Stargate/SignPost.java index 60d35c9..6fd8bb2 100644 --- a/src/net/TheDgtl/Stargate/SignPost.java +++ b/src/net/TheDgtl/Stargate/SignPost.java @@ -7,6 +7,13 @@ import org.bukkit.block.Block; import org.bukkit.block.BlockState; import org.bukkit.block.Sign; +/** + * SignPost.java + * @author Shaun (sturmeh) + * @author Dinnerbone + * @author Steven "Drakia" Scott + */ + public class SignPost { private Blox parent; private Blox block; diff --git a/src/net/TheDgtl/Stargate/Stargate.java b/src/net/TheDgtl/Stargate/Stargate.java index c6e44e7..7496f0c 100644 --- a/src/net/TheDgtl/Stargate/Stargate.java +++ b/src/net/TheDgtl/Stargate/Stargate.java @@ -7,6 +7,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.bukkit.ChatColor; +import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Server; import org.bukkit.World; @@ -30,6 +31,7 @@ import org.bukkit.event.entity.EntityListener; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerListener; import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.event.player.PlayerPortalEvent; import org.bukkit.event.server.PluginDisableEvent; import org.bukkit.event.server.PluginEnableEvent; import org.bukkit.event.server.ServerListener; @@ -138,6 +140,9 @@ public class Stargate extends JavaPlugin { //pm.registerEvent(Event.Type.ENTITY_DAMAGE, entityListener, Priority.Normal, this); //pm.registerEvent(Event.Type.ENTITY_COMBUST, entityListener, Priority.Normal, this); + // Used to disable built-in portal for Stargates + pm.registerEvent(Event.Type.PLAYER_PORTAL, playerListener, Priority.Normal, this); + // Dependency Loading pm.registerEvent(Event.Type.PLUGIN_ENABLE, serverListener, Priority.Monitor, this); pm.registerEvent(Event.Type.PLUGIN_DISABLE, serverListener, Priority.Monitor, this); @@ -368,6 +373,28 @@ public class Stargate extends JavaPlugin { } private class pListener extends PlayerListener { + @Override + public void onPlayerPortal(PlayerPortalEvent event) { + // Do a quick check for a stargate + Location from = event.getFrom(); + World world = from.getWorld(); + int cX = from.getBlockX(); + int cY = from.getBlockY(); + int cZ = from.getBlockZ(); + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + for (int k = 0; k < 3; k++) { + Block b = world.getBlockAt(cX + i, cY + j, cZ + k); + if (b.getType() != Material.PORTAL) continue; + Portal portal = Portal.getByEntrance(b); + if (portal != null) { + event.setCancelled(true); + return; + } + } + } + } + } @Override public void onPlayerMove(PlayerMoveEvent event) { Player player = event.getPlayer(); diff --git a/src/net/TheDgtl/Stargate/iConomyHandler.java b/src/net/TheDgtl/Stargate/iConomyHandler.java index d5b1016..11c7f57 100644 --- a/src/net/TheDgtl/Stargate/iConomyHandler.java +++ b/src/net/TheDgtl/Stargate/iConomyHandler.java @@ -4,6 +4,11 @@ import com.iConomy.*; import com.iConomy.system.Account; import com.iConomy.system.Holdings; +/** + * iConomyHandler.java + * @author Steven "Drakia" Scott + */ + public class iConomyHandler { public static String pName = "Stargate"; public static boolean useiConomy = false; diff --git a/src/plugin.yml b/src/plugin.yml index ab24f24..ec40504 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,6 +1,6 @@ name: Stargate main: net.TheDgtl.Stargate.Stargate -version: 0.5.0b +version: 0.5.0 description: Stargate mod for Bukkit author: Drakia website: http://www.thedgtl.net