[Version 0.6.5]
- Moved printed message config to a seperate file - Added permdebug option - Hopefully fix path issues some people were having - Fixed iConomy creation cost
This commit is contained in:
parent
f1cb266a0a
commit
af37bac990
51
README
51
README
@ -133,12 +133,6 @@ Which would only allow black wool. If no data is supplied any version of a block
|
|||||||
Configuration
|
Configuration
|
||||||
==============
|
==============
|
||||||
default-gate-network - The default gate network
|
default-gate-network - The default gate network
|
||||||
not-selected-message - The message when no destination is selected
|
|
||||||
portal-destroy-message - The message when a gate is destroyed
|
|
||||||
portal-create-message - The message when a gate is created
|
|
||||||
not-owner-message - The message when you aren't allowed to push the gate button
|
|
||||||
other-side-blocked-message - The message when the gate you're dialing is open
|
|
||||||
teleport-message - The message when you are teleported
|
|
||||||
portal-folder - The folder your portal databases are saved in
|
portal-folder - The folder your portal databases are saved in
|
||||||
gate-folder - The folder containing your .gate files
|
gate-folder - The folder containing your .gate files
|
||||||
destroyexplosion - Whether to destroy a stargate with explosions, or stop an explosion if it contains a gates controls.
|
destroyexplosion - Whether to destroy a stargate with explosions, or stop an explosion if it contains a gates controls.
|
||||||
@ -148,14 +142,55 @@ destroycost - The cost to destroy a stargate (Can be negative for a "refund"
|
|||||||
usecost - The cost to use a stargate
|
usecost - The cost to use a stargate
|
||||||
chargefreedestination - Enable to allow free travel from any gate to a free gate
|
chargefreedestination - Enable to allow free travel from any gate to a free gate
|
||||||
freegatesgreen - Enable to make gates that won't cost the player money show up as green
|
freegatesgreen - Enable to make gates that won't cost the player money show up as green
|
||||||
not-enough-money-message - The message displayed if a player lacks money to do something
|
|
||||||
toowner - Whether the money from gate-use goes to the owner or nobody
|
toowner - Whether the money from gate-use goes to the owner or nobody
|
||||||
debug - Whether to show massive debug output
|
|
||||||
maxgates - If non-zero, will define the maximum amount of gates allowed on any network.
|
maxgates - If non-zero, will define the maximum amount of gates allowed on any network.
|
||||||
|
|
||||||
|
debug - Whether to show massive debug output
|
||||||
|
permdebug - Whether to show massive permission debug output
|
||||||
|
|
||||||
|
=======================
|
||||||
|
Message Customization
|
||||||
|
=======================
|
||||||
|
As of 0.6.5 it is possible to customize all of the messages Stargate displays, including the [Stargate] prefix. You can find the strings in plugins/Stargate/lang/en.txt.
|
||||||
|
If a string is removed, or left blank, it will not be shown when the user does the action associated with it.
|
||||||
|
There are three special cases when it comes to messages, these are:
|
||||||
|
ecoDeduct=Spent %cost%
|
||||||
|
ecoRefund=Redunded %cost%
|
||||||
|
ecoObtain=Obtained %cost$ from Stargate %portal%
|
||||||
|
|
||||||
|
As you can see, these three strings have variables in them. These variables are fairly self-explanatory.
|
||||||
|
The full list of strings is as follows:
|
||||||
|
prefix=[Stargate]
|
||||||
|
teleportMsg=Teleported
|
||||||
|
destroyMsg=Gate Destroyed
|
||||||
|
invalidMsg=Invalid Destination
|
||||||
|
blockMsg=Destination Blocked
|
||||||
|
denyMsg=Access Denied
|
||||||
|
destEmpty=Destination List Empty
|
||||||
|
|
||||||
|
ecoDeduct=Deducted %cost%
|
||||||
|
ecoRefund=Redunded %cost%
|
||||||
|
ecoObtain=Obtained %cost$ from Stargate %portal%
|
||||||
|
ecoInFunds=Insufficient Funds
|
||||||
|
|
||||||
|
createMsg=Gate Created
|
||||||
|
createNetDeny=You do not have access to that network
|
||||||
|
createPersonal=Creating gate on personal network
|
||||||
|
createNameLength=Name too short or too long.
|
||||||
|
createExists=A gate by that name already exists
|
||||||
|
createFull=This network is full
|
||||||
|
createWorldDeny=You do not have access to that world
|
||||||
|
createConflict=Gate conflicts with existing gate
|
||||||
|
|
||||||
|
|
||||||
=============
|
=============
|
||||||
Changes
|
Changes
|
||||||
=============
|
=============
|
||||||
|
[Version 0.6.5]
|
||||||
|
- Moved printed message config to a seperate file
|
||||||
|
- Added permdebug option
|
||||||
|
- Hopefully fix path issues some people were having
|
||||||
|
- Fixed iConomy creation cost
|
||||||
[Version 0.6.4]
|
[Version 0.6.4]
|
||||||
- Fixed iConomy handling
|
- Fixed iConomy handling
|
||||||
[Version 0.6.3]
|
[Version 0.6.3]
|
||||||
|
@ -229,14 +229,17 @@ public class Gate {
|
|||||||
if (id == ENTRANCE || id == EXIT) {
|
if (id == ENTRANCE || id == EXIT) {
|
||||||
int type = topleft.modRelative(x, y, 0, modX, 1, modZ).getType();
|
int type = topleft.modRelative(x, y, 0, modX, 1, modZ).getType();
|
||||||
if (type != portalBlockClosed && type != portalBlockOpen) {
|
if (type != portalBlockClosed && type != portalBlockOpen) {
|
||||||
|
Stargate.debug("Gate::Matches", "Entrance/Exit Material Mismatch: " + type);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else if (id != ANYTHING) {
|
} else if (id != ANYTHING) {
|
||||||
if (topleft.modRelative(x, y, 0, modX, 1, modZ).getType() != id) {
|
if (topleft.modRelative(x, y, 0, modX, 1, modZ).getType() != id) {
|
||||||
|
Stargate.debug("Gate::Matches", "Block Type Mismatch: " + topleft.modRelative(x, y, 0, modX, 1, modZ).getType() + " != " + id);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Integer mData = metadata.get(layout[y][x]);
|
Integer mData = metadata.get(layout[y][x]);
|
||||||
if (mData != null && topleft.modRelative(x, y, 0, modX, 1, modZ).getData() != mData) {
|
if (mData != null && topleft.modRelative(x, y, 0, modX, 1, modZ).getData() != mData) {
|
||||||
|
Stargate.debug("Gate::Matches", "Block Data Mismatch: " + topleft.modRelative(x, y, 0, modX, 1, modZ).getData() + " != " + mData);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
114
src/net/TheDgtl/Stargate/LangLoader.java
Normal file
114
src/net/TheDgtl/Stargate/LangLoader.java
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
package net.TheDgtl.Stargate;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.OutputStreamWriter;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class LangLoader {
|
||||||
|
// Variables
|
||||||
|
private String datFolder;
|
||||||
|
private String lang;
|
||||||
|
private HashMap<String, String> strList;
|
||||||
|
|
||||||
|
public LangLoader(String datFolder, String lang) {
|
||||||
|
this.lang = lang;
|
||||||
|
this.datFolder = datFolder;
|
||||||
|
strList = new HashMap<String, String>();
|
||||||
|
|
||||||
|
File tmp = new File(datFolder, lang + ".txt");
|
||||||
|
if (!tmp.exists()) {
|
||||||
|
tmp.getParentFile().mkdirs();
|
||||||
|
loadDefaults();
|
||||||
|
}
|
||||||
|
|
||||||
|
load();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean reload() {
|
||||||
|
strList = new HashMap<String, String>();
|
||||||
|
load();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getString(String name) {
|
||||||
|
String val = strList.get(name);
|
||||||
|
if (val == null) return "";
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadDefaults() {
|
||||||
|
InputStream is = Stargate.class.getResourceAsStream("resources/en.txt");
|
||||||
|
if (is == null) return;
|
||||||
|
Stargate.log.info("[Stargate] Extracting initial language file");
|
||||||
|
|
||||||
|
FileOutputStream fos = null;
|
||||||
|
try {
|
||||||
|
// Input stuff
|
||||||
|
InputStreamReader isr = new InputStreamReader(is);
|
||||||
|
BufferedReader br = new BufferedReader(isr);
|
||||||
|
|
||||||
|
// Save file
|
||||||
|
fos = new FileOutputStream(datFolder + lang + ".txt");
|
||||||
|
OutputStreamWriter out = new OutputStreamWriter(fos);
|
||||||
|
BufferedWriter bw = new BufferedWriter(out);
|
||||||
|
|
||||||
|
String line = br.readLine();
|
||||||
|
while (line != null) {
|
||||||
|
bw.write(line);
|
||||||
|
bw.newLine();
|
||||||
|
line = br.readLine();
|
||||||
|
}
|
||||||
|
bw.close();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
if (fos != null) {
|
||||||
|
try {fos.close();} catch (Exception ex) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean load() {
|
||||||
|
FileInputStream fis = null;
|
||||||
|
try {
|
||||||
|
fis = new FileInputStream(datFolder + lang + ".txt");
|
||||||
|
InputStreamReader isr = new InputStreamReader(fis);
|
||||||
|
BufferedReader br = new BufferedReader(isr);
|
||||||
|
String line = br.readLine();
|
||||||
|
while (line != null) {
|
||||||
|
// Split at first "="
|
||||||
|
int eq = line.indexOf('=');
|
||||||
|
if (eq == -1) {
|
||||||
|
line = br.readLine();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String key = line.substring(0, eq);
|
||||||
|
String val = line.substring(eq + 1);
|
||||||
|
strList.put(key, val);
|
||||||
|
line = br.readLine();
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
return false;
|
||||||
|
} finally {
|
||||||
|
if (fis != null) {
|
||||||
|
try {fis.close();}
|
||||||
|
catch (Exception ex) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void debug() {
|
||||||
|
Set<String> keys = strList.keySet();
|
||||||
|
for (String key : keys) {
|
||||||
|
Stargate.debug("LangLoader::Debug", key + " => " + strList.get(key));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -484,6 +484,13 @@ public class Portal {
|
|||||||
public void cycleDestination(Player player, int dir) {
|
public void cycleDestination(Player player, int dir) {
|
||||||
if (!isActive() || getActivePlayer() != player) {
|
if (!isActive() || getActivePlayer() != player) {
|
||||||
activate(player);
|
activate(player);
|
||||||
|
Stargate.debug("cycleDestination", "Network Size: " + allPortalsNet.get(network.toLowerCase()).size());
|
||||||
|
Stargate.debug("cycleDestination", "Player has access to: " + destinations.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (destinations.size() == 0) {
|
||||||
|
Stargate.sendMessage(player, Stargate.getString("destEmpty"));
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (destinations.size() > 0) {
|
if (destinations.size() > 0) {
|
||||||
@ -767,30 +774,30 @@ public class Portal {
|
|||||||
// Check if we can create a gate on our own network
|
// Check if we can create a gate on our own network
|
||||||
if (!Stargate.canCreate(player, network)) {
|
if (!Stargate.canCreate(player, network)) {
|
||||||
Stargate.debug("createPortal", "Player does not have access to network");
|
Stargate.debug("createPortal", "Player does not have access to network");
|
||||||
Stargate.sendMessage(player, "You do not have access to that network");
|
Stargate.sendMessage(player, Stargate.getString("createNetDeny"));
|
||||||
return null;
|
return null;
|
||||||
} else {
|
} else {
|
||||||
Stargate.debug("createPortal", "Creating personal portal");
|
Stargate.debug("createPortal", "Creating personal portal");
|
||||||
Stargate.sendMessage(player, "Creating gate on personal network");
|
Stargate.sendMessage(player, Stargate.getString("createPersonal"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (name.length() < 1 || name.length() > 11) {
|
if (name.length() < 1 || name.length() > 11) {
|
||||||
Stargate.debug("createPortal", "Name length error");
|
Stargate.debug("createPortal", "Name length error");
|
||||||
Stargate.sendMessage(player, "Name too short or too long.");
|
Stargate.sendMessage(player, Stargate.getString("createNameLength"));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getByName(name, network) != null) {
|
if (getByName(name, network) != null) {
|
||||||
Stargate.debug("createPortal", "Name Error");
|
Stargate.debug("createPortal", "Name Error");
|
||||||
Stargate.sendMessage(player, "A gate by that name already exists!");
|
Stargate.sendMessage(player, Stargate.getString("createExists"));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if there are too many gates in this network
|
// Check if there are too many gates in this network
|
||||||
ArrayList<String> netList = allPortalsNet.get(network.toLowerCase());
|
ArrayList<String> netList = allPortalsNet.get(network.toLowerCase());
|
||||||
if (Stargate.maxGates > 0 && netList != null && netList.size() >= Stargate.maxGates) {
|
if (Stargate.maxGates > 0 && netList != null && netList.size() >= Stargate.maxGates) {
|
||||||
Stargate.sendMessage(player, "This network is full.");
|
Stargate.sendMessage(player, Stargate.getString("createFull"));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -801,7 +808,7 @@ public class Portal {
|
|||||||
String world = p.getWorld().getName();
|
String world = p.getWorld().getName();
|
||||||
if (!Stargate.canAccessWorld(player, world)) {
|
if (!Stargate.canAccessWorld(player, world)) {
|
||||||
Stargate.debug("canCreate", "Player does not have access to destination world");
|
Stargate.debug("canCreate", "Player does not have access to destination world");
|
||||||
Stargate.sendMessage(player, "You do not have access to that world.");
|
Stargate.sendMessage(player, Stargate.getString("createWorldDeny"));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -812,6 +819,7 @@ public class Portal {
|
|||||||
Blox b = topleft.modRelative(v.getRight(), v.getDepth(), v.getDistance(), modX, 1, modZ);
|
Blox b = topleft.modRelative(v.getRight(), v.getDepth(), v.getDistance(), modX, 1, modZ);
|
||||||
if (Portal.getByBlock(b.getBlock()) != null) {
|
if (Portal.getByBlock(b.getBlock()) != null) {
|
||||||
Stargate.debug("createPortal", "Gate conflicts with existing gate");
|
Stargate.debug("createPortal", "Gate conflicts with existing gate");
|
||||||
|
Stargate.sendMessage(player, Stargate.getString("createConflict"));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -819,10 +827,13 @@ public class Portal {
|
|||||||
int cost = Stargate.getCreateCost(player, gate);
|
int cost = Stargate.getCreateCost(player, gate);
|
||||||
if (cost > 0) {
|
if (cost > 0) {
|
||||||
if (!Stargate.chargePlayer(player, null, gate.getCreateCost())) {
|
if (!Stargate.chargePlayer(player, null, gate.getCreateCost())) {
|
||||||
Stargate.sendMessage(player, "Insufficient Funds");
|
Stargate.sendMessage(player, Stargate.getString("ecoInFunds"));
|
||||||
Stargate.debug("createPortal", "Insufficient Funds");
|
Stargate.debug("createPortal", "Insufficient Funds");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
String deductMsg = Stargate.getString("ecoDeduct");
|
||||||
|
deductMsg = Stargate.replaceVars(deductMsg, new String[] {"%cost%"}, new String[] {iConomyHandler.format(cost)});
|
||||||
|
Stargate.sendMessage(player, deductMsg, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
Portal portal = null;
|
Portal portal = null;
|
||||||
@ -1006,6 +1017,12 @@ public class Portal {
|
|||||||
// Verify portal integrity/register portal
|
// Verify portal integrity/register portal
|
||||||
if (!portal.wasVerified()) {
|
if (!portal.wasVerified()) {
|
||||||
if (!portal.isVerified() || !portal.checkIntegrity()) {
|
if (!portal.isVerified() || !portal.checkIntegrity()) {
|
||||||
|
// DEBUG
|
||||||
|
for (RelativeBlockVector control : portal.getGate().getControls()) {
|
||||||
|
if (portal.getBlockAt(control).getBlock().getTypeId() != portal.getGate().getControlBlock()) {
|
||||||
|
Stargate.debug("loadAllGates", "Control Block Type == " + portal.getBlockAt(control).getBlock().getTypeId());
|
||||||
|
}
|
||||||
|
}
|
||||||
portal.unregister(false);
|
portal.unregister(false);
|
||||||
iter.remove();
|
iter.remove();
|
||||||
Stargate.log.info("[Stargate] Destroying stargate at " + portal.toString());
|
Stargate.log.info("[Stargate] Destroying stargate at " + portal.toString());
|
||||||
|
@ -72,15 +72,11 @@ public class Stargate extends JavaPlugin {
|
|||||||
private PluginManager pm;
|
private PluginManager pm;
|
||||||
public static Server server;
|
public static Server server;
|
||||||
public static Stargate stargate;
|
public static Stargate stargate;
|
||||||
|
private static LangLoader lang;
|
||||||
|
|
||||||
private static String portalFolder;
|
private static String portalFolder;
|
||||||
private static String gateFolder;
|
private static String gateFolder;
|
||||||
private static String teleMsg = "Teleported";
|
private static String langFolder;
|
||||||
private static String regMsg = "Gate Created";
|
|
||||||
private static String dmgMsg = "Gate Destroyed";
|
|
||||||
private static String denyMsg = "Access Denied";
|
|
||||||
private static String invMsg = "Invalid Destination";
|
|
||||||
private static String blockMsg = "Destination Blocked";
|
|
||||||
private static String defNetwork = "central";
|
private static String defNetwork = "central";
|
||||||
private static boolean destroyExplosion = false;
|
private static boolean destroyExplosion = false;
|
||||||
public static int maxGates = 0;
|
public static int maxGates = 0;
|
||||||
@ -88,7 +84,8 @@ public class Stargate extends JavaPlugin {
|
|||||||
private static int openTime = 10;
|
private static int openTime = 10;
|
||||||
|
|
||||||
// Used for debug
|
// Used for debug
|
||||||
private static boolean debug = false;
|
public static boolean debug = false;
|
||||||
|
public static boolean permDebug = false;
|
||||||
|
|
||||||
public static ConcurrentLinkedQueue<Portal> openList = new ConcurrentLinkedQueue<Portal>();
|
public static ConcurrentLinkedQueue<Portal> openList = new ConcurrentLinkedQueue<Portal>();
|
||||||
public static ConcurrentLinkedQueue<Portal> activeList = new ConcurrentLinkedQueue<Portal>();
|
public static ConcurrentLinkedQueue<Portal> activeList = new ConcurrentLinkedQueue<Portal>();
|
||||||
@ -107,8 +104,9 @@ public class Stargate extends JavaPlugin {
|
|||||||
Stargate.stargate = this;
|
Stargate.stargate = this;
|
||||||
|
|
||||||
// Set portalFile and gateFolder to the plugin folder as defaults.
|
// Set portalFile and gateFolder to the plugin folder as defaults.
|
||||||
portalFolder = getDataFolder() + "/portals";
|
portalFolder = getDataFolder().getPath().replaceAll("\\\\", "/") + "/portals/";
|
||||||
gateFolder = getDataFolder() + "/gates/";
|
gateFolder = getDataFolder().getPath().replaceAll("\\\\", "/") + "/gates/";
|
||||||
|
langFolder = getDataFolder().getPath().replaceAll("\\\\", "/") + "/lang/";
|
||||||
|
|
||||||
log.info(pdfFile.getName() + " v." + pdfFile.getVersion() + " is enabled.");
|
log.info(pdfFile.getName() + " v." + pdfFile.getVersion() + " is enabled.");
|
||||||
|
|
||||||
@ -118,6 +116,8 @@ public class Stargate extends JavaPlugin {
|
|||||||
this.reloadConfig();
|
this.reloadConfig();
|
||||||
this.migrate();
|
this.migrate();
|
||||||
this.reloadGates();
|
this.reloadGates();
|
||||||
|
lang = new LangLoader(langFolder, "en");
|
||||||
|
lang.debug();
|
||||||
|
|
||||||
// Check to see if iConomy/Permissions is loaded yet.
|
// Check to see if iConomy/Permissions is loaded yet.
|
||||||
permissions = (Permissions)checkPlugin("Permissions");
|
permissions = (Permissions)checkPlugin("Permissions");
|
||||||
@ -152,17 +152,12 @@ public class Stargate extends JavaPlugin {
|
|||||||
config.load();
|
config.load();
|
||||||
portalFolder = config.getString("portal-folder", portalFolder);
|
portalFolder = config.getString("portal-folder", portalFolder);
|
||||||
gateFolder = config.getString("gate-folder", gateFolder);
|
gateFolder = config.getString("gate-folder", gateFolder);
|
||||||
teleMsg = config.getString("teleport-message", teleMsg);
|
|
||||||
regMsg = config.getString("portal-create-message", regMsg);
|
|
||||||
dmgMsg = config.getString("portal-destroy-message", dmgMsg);
|
|
||||||
denyMsg = config.getString("not-owner-message", denyMsg);
|
|
||||||
invMsg = config.getString("not-selected-message", invMsg);
|
|
||||||
blockMsg = config.getString("other-side-blocked-message", blockMsg);
|
|
||||||
defNetwork = config.getString("default-gate-network", defNetwork).trim();
|
defNetwork = config.getString("default-gate-network", defNetwork).trim();
|
||||||
destroyExplosion = config.getBoolean("destroyexplosion", destroyExplosion);
|
destroyExplosion = config.getBoolean("destroyexplosion", destroyExplosion);
|
||||||
maxGates = config.getInt("maxgates", maxGates);
|
maxGates = config.getInt("maxgates", maxGates);
|
||||||
// Debug
|
// Debug
|
||||||
debug = config.getBoolean("debug", debug);
|
debug = config.getBoolean("debug", debug);
|
||||||
|
permDebug = config.getBoolean("permdebug", permDebug);
|
||||||
// iConomy
|
// iConomy
|
||||||
iConomyHandler.useiConomy = config.getBoolean("useiconomy", iConomyHandler.useiConomy);
|
iConomyHandler.useiConomy = config.getBoolean("useiconomy", iConomyHandler.useiConomy);
|
||||||
iConomyHandler.createCost = config.getInt("createcost", iConomyHandler.createCost);
|
iConomyHandler.createCost = config.getInt("createcost", iConomyHandler.createCost);
|
||||||
@ -177,14 +172,12 @@ public class Stargate extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void saveConfig() {
|
public void saveConfig() {
|
||||||
|
if (!debug)
|
||||||
|
config.removeProperty("debug");
|
||||||
|
if (!permDebug)
|
||||||
|
config.removeProperty("permdebug");
|
||||||
config.setProperty("portal-folder", portalFolder);
|
config.setProperty("portal-folder", portalFolder);
|
||||||
config.setProperty("gate-folder", gateFolder);
|
config.setProperty("gate-folder", gateFolder);
|
||||||
config.setProperty("teleport-message", teleMsg);
|
|
||||||
config.setProperty("portal-create-message", regMsg);
|
|
||||||
config.setProperty("portal-destroy-message", dmgMsg);
|
|
||||||
config.setProperty("not-owner-message", denyMsg);
|
|
||||||
config.setProperty("not-selected-message", invMsg);
|
|
||||||
config.setProperty("other-side-blocked-message", blockMsg);
|
|
||||||
config.setProperty("default-gate-network", defNetwork);
|
config.setProperty("default-gate-network", defNetwork);
|
||||||
config.setProperty("destroyexplosion", destroyExplosion);
|
config.setProperty("destroyexplosion", destroyExplosion);
|
||||||
config.setProperty("maxgates", maxGates);
|
config.setProperty("maxgates", maxGates);
|
||||||
@ -256,10 +249,11 @@ public class Stargate extends JavaPlugin {
|
|||||||
|
|
||||||
public static void sendMessage(Player player, String message, boolean error) {
|
public static void sendMessage(Player player, String message, boolean error) {
|
||||||
if (message.isEmpty()) return;
|
if (message.isEmpty()) return;
|
||||||
|
message = message.replaceAll("(&([a-f0-9]))", "\u00A7$2");
|
||||||
if (error)
|
if (error)
|
||||||
player.sendMessage(ChatColor.RED + "[Stargate] " + ChatColor.WHITE + message);
|
player.sendMessage(ChatColor.RED + Stargate.getString("prefix") + ChatColor.WHITE + message);
|
||||||
else
|
else
|
||||||
player.sendMessage(ChatColor.GREEN + "[Stargate] " + ChatColor.WHITE + message);
|
player.sendMessage(ChatColor.GREEN + Stargate.getString("prefix") + ChatColor.WHITE + message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getSaveLocation() {
|
public static String getSaveLocation() {
|
||||||
@ -270,23 +264,8 @@ public class Stargate extends JavaPlugin {
|
|||||||
return defNetwork;
|
return defNetwork;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getTeleMsg() {
|
public static String getString(String name) {
|
||||||
return teleMsg;
|
return lang.getString(name);
|
||||||
}
|
|
||||||
public static String getRegMsg() {
|
|
||||||
return regMsg;
|
|
||||||
}
|
|
||||||
public static String getDmgMsg() {
|
|
||||||
return dmgMsg;
|
|
||||||
}
|
|
||||||
public static String getDenyMsg() {
|
|
||||||
return denyMsg;
|
|
||||||
}
|
|
||||||
public static String getInvMsg() {
|
|
||||||
return invMsg;
|
|
||||||
}
|
|
||||||
public static String getBlockMsg() {
|
|
||||||
return blockMsg;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onButtonPressed(Player player, Portal portal) {
|
private void onButtonPressed(Player player, Portal portal) {
|
||||||
@ -299,7 +278,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
|
|
||||||
// Invalid destination
|
// Invalid destination
|
||||||
if ((destination == null) || (destination == portal)) {
|
if ((destination == null) || (destination == portal)) {
|
||||||
Stargate.sendMessage(player, invMsg);
|
Stargate.sendMessage(player, Stargate.getString("invalidMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,19 +293,19 @@ public class Stargate extends JavaPlugin {
|
|||||||
|
|
||||||
// Gate that someone else is using -- Deny access
|
// Gate that someone else is using -- Deny access
|
||||||
if ((!portal.isFixed()) && portal.isActive() && (portal.getActivePlayer() != player)) {
|
if ((!portal.isFixed()) && portal.isActive() && (portal.getActivePlayer() != player)) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the player can use the private gate
|
// Check if the player can use the private gate
|
||||||
if (portal.isPrivate() && !Stargate.canPrivate(player, portal)) {
|
if (portal.isPrivate() && !Stargate.canPrivate(player, portal)) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destination blocked
|
// Destination blocked
|
||||||
if ((destination.isOpen()) && (!destination.isAlwaysOn())) {
|
if ((destination.isOpen()) && (!destination.isAlwaysOn())) {
|
||||||
Stargate.sendMessage(player, blockMsg);
|
Stargate.sendMessage(player, Stargate.getString("blockMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -339,8 +318,12 @@ public class Stargate extends JavaPlugin {
|
|||||||
*/
|
*/
|
||||||
public static boolean hasPerm(Player player, String perm) {
|
public static boolean hasPerm(Player player, String perm) {
|
||||||
if (permissions != null) {
|
if (permissions != null) {
|
||||||
|
if (permDebug)
|
||||||
|
Stargate.debug("hasPerm::Permissions", perm + " => " + permissions.getHandler().has(player, perm));
|
||||||
return permissions.getHandler().has(player, perm);
|
return permissions.getHandler().has(player, perm);
|
||||||
} else {
|
} else {
|
||||||
|
if (permDebug)
|
||||||
|
Stargate.debug("hasPerm::SuperPerm", perm + " => " + player.hasPermission(perm));
|
||||||
return player.hasPermission(perm);
|
return player.hasPermission(perm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -353,9 +336,17 @@ public class Stargate extends JavaPlugin {
|
|||||||
*/
|
*/
|
||||||
public static boolean hasPermDeep(Player player, String perm) {
|
public static boolean hasPermDeep(Player player, String perm) {
|
||||||
if (permissions != null) {
|
if (permissions != null) {
|
||||||
|
if (permDebug)
|
||||||
|
Stargate.debug("hasPermDeep::Permissions", perm + " => " + permissions.getHandler().has(player, perm));
|
||||||
return permissions.getHandler().has(player, perm);
|
return permissions.getHandler().has(player, perm);
|
||||||
} else {
|
} else {
|
||||||
if (!player.isPermissionSet(perm)) return true;
|
if (!player.isPermissionSet(perm)) {
|
||||||
|
if (permDebug)
|
||||||
|
Stargate.debug("hasPermDeep::SuperPerm", perm + " => true");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (permDebug)
|
||||||
|
Stargate.debug("hasPermDeep::Permissions", perm + " => " + permissions.getHandler().has(player, perm));
|
||||||
return player.hasPermission(perm);
|
return player.hasPermission(perm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -468,16 +459,17 @@ public class Stargate extends JavaPlugin {
|
|||||||
* Check if the player can destroy this gate
|
* Check if the player can destroy this gate
|
||||||
*/
|
*/
|
||||||
public static boolean canDestroy(Player player, Portal portal) {
|
public static boolean canDestroy(Player player, Portal portal) {
|
||||||
|
String network = portal.getNetwork();
|
||||||
// Check for general destroy
|
// Check for general destroy
|
||||||
if (hasPerm(player, "stargate.destroy")) return true;
|
if (hasPerm(player, "stargate.destroy")) return true;
|
||||||
// Check for all network destroy permission
|
// Check for all network destroy permission
|
||||||
if (hasPerm(player, "stargate.destroy.network")) {
|
if (hasPerm(player, "stargate.destroy.network")) {
|
||||||
// Do a deep check to see if the player lacks permission for this network node
|
// Do a deep check to see if the player lacks permission for this network node
|
||||||
if (!hasPermDeep(player, "stargate.destroy.network." + portal.getNetwork())) return false;
|
if (!hasPermDeep(player, "stargate.destroy.network." + network)) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// Check for this specific network
|
// Check for this specific network
|
||||||
if (hasPerm(player, "stargate.destroy.network." + portal.getNetwork())) return true;
|
if (hasPerm(player, "stargate.destroy.network." + network)) return true;
|
||||||
// Check for personal gate
|
// Check for personal gate
|
||||||
if (player.getName().equalsIgnoreCase(portal.getOwner()) && hasPerm(player, "stargate.destroy.personal")) return true;
|
if (player.getName().equalsIgnoreCase(portal.getOwner()) && hasPerm(player, "stargate.destroy.personal")) return true;
|
||||||
return false;
|
return false;
|
||||||
@ -522,7 +514,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
// Player gets free gate destruction
|
// Player gets free gate destruction
|
||||||
if (hasPerm(player, "stargate.free") || hasPerm(player, "stargate.free.create")) return 0;
|
if (hasPerm(player, "stargate.free") || hasPerm(player, "stargate.free.create")) return 0;
|
||||||
|
|
||||||
return gate.getDestroyCost();
|
return gate.getCreateCost();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -553,6 +545,17 @@ public class Stargate extends JavaPlugin {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Parse a given text string and replace the variables
|
||||||
|
*/
|
||||||
|
public static String replaceVars(String format, String[] search, String[] replace) {
|
||||||
|
if (search.length != replace.length) return "";
|
||||||
|
for (int i = 0; i < search.length; i++) {
|
||||||
|
format = format.replaceAll(search[i], replace[i]);
|
||||||
|
}
|
||||||
|
return format;
|
||||||
|
}
|
||||||
|
|
||||||
private class vListener extends VehicleListener {
|
private class vListener extends VehicleListener {
|
||||||
@Override
|
@Override
|
||||||
public void onVehicleMove(VehicleMoveEvent event) {
|
public void onVehicleMove(VehicleMoveEvent event) {
|
||||||
@ -565,7 +568,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
if (passenger instanceof Player) {
|
if (passenger instanceof Player) {
|
||||||
Player player = (Player)passenger;
|
Player player = (Player)passenger;
|
||||||
if (!portal.isOpenFor(player)) {
|
if (!portal.isOpenFor(player)) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,14 +576,14 @@ public class Stargate extends JavaPlugin {
|
|||||||
if (dest == null) return;
|
if (dest == null) return;
|
||||||
// Check if player has access to this network
|
// Check if player has access to this network
|
||||||
if (!canAccessNetwork(player, portal.getNetwork())) {
|
if (!canAccessNetwork(player, portal.getNetwork())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
portal.close(false);
|
portal.close(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if player has access to destination world
|
// Check if player has access to destination world
|
||||||
if (!canAccessWorld(player, dest.getWorld().getName())) {
|
if (!canAccessWorld(player, dest.getWorld().getName())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
portal.close(false);
|
portal.close(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -590,20 +593,24 @@ public class Stargate extends JavaPlugin {
|
|||||||
String target = portal.getGate().getToOwner() ? portal.getOwner() : null;
|
String target = portal.getGate().getToOwner() ? portal.getOwner() : null;
|
||||||
if (!Stargate.chargePlayer(player, target, cost)) {
|
if (!Stargate.chargePlayer(player, target, cost)) {
|
||||||
// Insufficient Funds
|
// Insufficient Funds
|
||||||
Stargate.sendMessage(player, "Insufficient Funds");
|
Stargate.sendMessage(player, Stargate.getString("inFunds"));
|
||||||
portal.close(false);
|
portal.close(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sendMessage(player, "Deducted " + iConomyHandler.format(cost), false);
|
String deductMsg = Stargate.getString("ecoDeduct");
|
||||||
|
deductMsg = Stargate.replaceVars(deductMsg, new String[] {"%cost%"}, new String[] {iConomyHandler.format(cost)});
|
||||||
|
sendMessage(player, deductMsg, false);
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
Player p = server.getPlayer(target);
|
Player p = server.getPlayer(target);
|
||||||
if (p != null) {
|
if (p != null) {
|
||||||
Stargate.sendMessage(p, "Obtained " + iConomyHandler.format(cost) + " from Stargate " + portal.getName(), false);
|
String obtainedMsg = Stargate.getString("ecoObtain");
|
||||||
|
obtainedMsg = Stargate.replaceVars(obtainedMsg, new String[] {"%cost%", "%portal%"}, new String[] {iConomyHandler.format(cost), portal.getName()});
|
||||||
|
Stargate.sendMessage(p, obtainedMsg, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Stargate.sendMessage(player, teleMsg, false);
|
Stargate.sendMessage(player, Stargate.getString("teleportMsg"), false);
|
||||||
dest.teleport(vehicle);
|
dest.teleport(vehicle);
|
||||||
portal.close(false);
|
portal.close(false);
|
||||||
} else {
|
} else {
|
||||||
@ -649,9 +656,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
|
|
||||||
// Not open for this player
|
// Not open for this player
|
||||||
if (!portal.isOpenFor(player)) {
|
if (!portal.isOpenFor(player)) {
|
||||||
if (!denyMsg.isEmpty()) {
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
Stargate.sendMessage(player, denyMsg);
|
|
||||||
}
|
|
||||||
portal.teleport(player, portal, event);
|
portal.teleport(player, portal, event);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -661,7 +666,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
|
|
||||||
// Check if player has access to this network
|
// Check if player has access to this network
|
||||||
if (!canAccessNetwork(player, portal.getNetwork())) {
|
if (!canAccessNetwork(player, portal.getNetwork())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
portal.teleport(player, portal, event);
|
portal.teleport(player, portal, event);
|
||||||
portal.close(false);
|
portal.close(false);
|
||||||
return;
|
return;
|
||||||
@ -669,7 +674,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
|
|
||||||
// Check if player has access to destination world
|
// Check if player has access to destination world
|
||||||
if (!canAccessWorld(player, destination.getWorld().getName())) {
|
if (!canAccessWorld(player, destination.getWorld().getName())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
portal.teleport(player, portal, event);
|
portal.teleport(player, portal, event);
|
||||||
portal.close(false);
|
portal.close(false);
|
||||||
return;
|
return;
|
||||||
@ -684,16 +689,20 @@ public class Stargate extends JavaPlugin {
|
|||||||
portal.close(false);
|
portal.close(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sendMessage(player, "Deducted " + iConomyHandler.format(cost), false);
|
String deductMsg = Stargate.getString("ecoDeduct");
|
||||||
|
deductMsg = Stargate.replaceVars(deductMsg, new String[] {"%cost%"}, new String[] {iConomyHandler.format(cost)});
|
||||||
|
sendMessage(player, deductMsg, false);
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
Player p = server.getPlayer(target);
|
Player p = server.getPlayer(target);
|
||||||
if (p != null) {
|
if (p != null) {
|
||||||
Stargate.sendMessage(p, "Obtained " + iConomyHandler.format(cost) + " from Stargate " + portal.getName(), false);
|
String obtainedMsg = Stargate.getString("ecoObtain");
|
||||||
|
obtainedMsg = Stargate.replaceVars(obtainedMsg, new String[] {"%cost%", "%portal%"}, new String[] {iConomyHandler.format(cost), portal.getName()});
|
||||||
|
Stargate.sendMessage(p, obtainedMsg, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Stargate.sendMessage(player, teleMsg, false);
|
Stargate.sendMessage(player, Stargate.getString("teleportMsg"), false);
|
||||||
destination.teleport(player, portal, event);
|
destination.teleport(player, portal, event);
|
||||||
portal.close(false);
|
portal.close(false);
|
||||||
}
|
}
|
||||||
@ -713,7 +722,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
event.setUseInteractedBlock(Result.DENY);
|
event.setUseInteractedBlock(Result.DENY);
|
||||||
|
|
||||||
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -728,7 +737,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
Portal portal = Portal.getByBlock(block);
|
Portal portal = Portal.getByBlock(block);
|
||||||
if (portal == null) return;
|
if (portal == null) return;
|
||||||
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
onButtonPressed(player, portal);
|
onButtonPressed(player, portal);
|
||||||
@ -744,7 +753,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
if (portal == null) return;
|
if (portal == null) return;
|
||||||
|
|
||||||
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -759,7 +768,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
Portal portal = Portal.getByBlock(block);
|
Portal portal = Portal.getByBlock(block);
|
||||||
if (portal == null) return;
|
if (portal == null) return;
|
||||||
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
if (!Stargate.canAccessNetwork(player, portal.getNetwork())) {
|
||||||
Stargate.sendMessage(player, denyMsg);
|
Stargate.sendMessage(player, Stargate.getString("denyMsg"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
onButtonPressed(player, portal);
|
onButtonPressed(player, portal);
|
||||||
@ -779,7 +788,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
// Not creating a gate, just placing a sign
|
// Not creating a gate, just placing a sign
|
||||||
if (portal == null) return;
|
if (portal == null) return;
|
||||||
|
|
||||||
Stargate.sendMessage(player, regMsg, false);
|
Stargate.sendMessage(player, Stargate.getString("createMsg"), false);
|
||||||
Stargate.debug("onSignChange", "Initialized stargate: " + portal.getName());
|
Stargate.debug("onSignChange", "Initialized stargate: " + portal.getName());
|
||||||
Stargate.server.getScheduler().scheduleSyncDelayedTask(stargate, new Runnable() {
|
Stargate.server.getScheduler().scheduleSyncDelayedTask(stargate, new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -818,14 +827,18 @@ public class Stargate extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cost > 0) {
|
if (cost > 0) {
|
||||||
Stargate.sendMessage(player, "Deducted " + iConomyHandler.format(cost), false);
|
String deductMsg = Stargate.getString("ecoDeduct");
|
||||||
|
deductMsg = Stargate.replaceVars(deductMsg, new String[] {"%cost%"}, new String[] {iConomyHandler.format(cost)});
|
||||||
|
sendMessage(player, deductMsg, false);
|
||||||
} else if (cost < 0) {
|
} else if (cost < 0) {
|
||||||
Stargate.sendMessage(player, "Refunded " + iConomyHandler.format(-cost), false);
|
String refundMsg = Stargate.getString("ecoRefund");
|
||||||
|
refundMsg = Stargate.replaceVars(refundMsg, new String[] {"%cost%"}, new String[] {iConomyHandler.format(-cost)});
|
||||||
|
sendMessage(player, refundMsg, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
portal.unregister(true);
|
portal.unregister(true);
|
||||||
Stargate.sendMessage(player, dmgMsg, false);
|
Stargate.sendMessage(player, Stargate.getString("destroyMsg"), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1030,6 +1043,7 @@ public class Stargate extends JavaPlugin {
|
|||||||
// Reload data
|
// Reload data
|
||||||
reloadConfig();
|
reloadConfig();
|
||||||
reloadGates();
|
reloadGates();
|
||||||
|
lang.reload();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
21
src/net/TheDgtl/Stargate/resources/en.txt
Normal file
21
src/net/TheDgtl/Stargate/resources/en.txt
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
prefix=[Stargate]
|
||||||
|
teleportMsg=Teleported
|
||||||
|
destroyMsg=Gate Destroyed
|
||||||
|
invalidMsg=Invalid Destination
|
||||||
|
blockMsg=Destination Blocked
|
||||||
|
destEmpty=Destination List Empty
|
||||||
|
denyMsg=Access Denied
|
||||||
|
|
||||||
|
ecoDeduct=Deducted %cost%
|
||||||
|
ecoRefund=Redunded %cost%
|
||||||
|
ecoObtain=Obtained %cost$ from Stargate %portal%
|
||||||
|
ecoInFunds=Insufficient Funds
|
||||||
|
|
||||||
|
createMsg=Gate Created
|
||||||
|
createNetDeny=You do not have access to that network
|
||||||
|
createPersonal=Creating gate on personal network
|
||||||
|
createNameLength=Name too short or too long.
|
||||||
|
createExists=A gate by that name already exists
|
||||||
|
createFull=This network is full
|
||||||
|
createWorldDeny=You do not have access to that world
|
||||||
|
createConflict=Gate conflicts with existing gate
|
@ -1,6 +1,6 @@
|
|||||||
name: Stargate
|
name: Stargate
|
||||||
main: net.TheDgtl.Stargate.Stargate
|
main: net.TheDgtl.Stargate.Stargate
|
||||||
version: 0.6.4
|
version: 0.6.5
|
||||||
description: Stargate mod for Bukkit
|
description: Stargate mod for Bukkit
|
||||||
author: Drakia
|
author: Drakia
|
||||||
website: http://www.thedgtl.net
|
website: http://www.thedgtl.net
|
||||||
|
Loading…
Reference in New Issue
Block a user