total unstable
This commit is contained in:
parent
ba3f8bfe98
commit
1335b437b7
58
src/main/java/de/craftinc/replicator/BlockUtil.java
Normal file
58
src/main/java/de/craftinc/replicator/BlockUtil.java
Normal file
@ -0,0 +1,58 @@
|
||||
/* Craft Inc. Replicator
|
||||
Copyright (C) 2013 Paul Schulze, Maximilian Häckel, Moritz Kaltofen
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package de.craftinc.replicator;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class BlockUtil
|
||||
{
|
||||
/**
|
||||
* List of blocks considered transparent. Not complete.
|
||||
*/
|
||||
public static final HashSet<Byte> transparentBlocks = new HashSet<Byte>(Arrays.asList(new Byte[] {
|
||||
6, // Sapling
|
||||
8, // Flowing Water
|
||||
9, // Still Water
|
||||
20, // Glass
|
||||
30, // Cobweb
|
||||
37, // Dandelion
|
||||
38, // Rose
|
||||
39, // Brown Mushrooom
|
||||
40, // Red Mushroom
|
||||
44, // Slabs
|
||||
50, // Torch
|
||||
70, // Stone Pressure Plate
|
||||
72, // Wooden Pressure Plate
|
||||
75, // Redstone Torch (inactive)
|
||||
76, // Redstone Torch (active)
|
||||
78, // Snow
|
||||
79, // Ice
|
||||
102, // Window
|
||||
104, // Pumpkin Stem
|
||||
105, // Melon Stem
|
||||
126, // Wooden Slab
|
||||
(byte) 131, // Tripwire Hook
|
||||
(byte) 132, // Tripwire
|
||||
(byte) 147, // Weighted Pressure Plate (Light)
|
||||
(byte) 148, // Weighted Pressure Plate (Heavy)
|
||||
(byte) 149, // Redstone Comparator (inactive)
|
||||
(byte) 150, // Redstone Comparator (active)
|
||||
(byte) 151, // Daylight Sensor
|
||||
|
||||
}));
|
||||
}
|
@ -16,11 +16,15 @@
|
||||
*/
|
||||
package de.craftinc.replicator;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Commands implements CommandExecutor
|
||||
{
|
||||
@Override
|
||||
@ -32,5 +36,57 @@ public class Commands implements CommandExecutor
|
||||
sender.sendMessage(Messages.commandIssuedByNonPlayer);
|
||||
return true;
|
||||
}
|
||||
|
||||
// commands
|
||||
if ( command.getName().equalsIgnoreCase("replicate") || command.getAliases().get(0).equalsIgnoreCase("repli") )
|
||||
{
|
||||
Player player = ( (Player) sender ).getPlayer();
|
||||
|
||||
// help
|
||||
if ( args.length == 0 || ( args.length > 0 && args[0].equalsIgnoreCase("help") ) )
|
||||
{
|
||||
sender.sendMessage(Messages.helpGeneral(player));
|
||||
return true;
|
||||
}
|
||||
|
||||
// info
|
||||
if ( args.length > 0 && args[0].equalsIgnoreCase("info") )
|
||||
{
|
||||
// looking at replicator
|
||||
if ( args.length == 1 )
|
||||
{
|
||||
// get block where the player is looking at
|
||||
Block potentialReplicatorBlock = player.getTargetBlock(BlockUtil.transparentBlocks, 100);
|
||||
|
||||
// get zero or more valid replicator centers
|
||||
ArrayList<Location> replicatorCenters = Replicator
|
||||
.getReplicators(potentialReplicatorBlock.getLocation());
|
||||
|
||||
if ( replicatorCenters.size() == 0 )
|
||||
{
|
||||
sender.sendMessage(Messages.noReplicatorInSight);
|
||||
return true;
|
||||
}
|
||||
|
||||
ArrayList<Replicator> replicators = new ArrayList<Replicator>();
|
||||
for ( Location replicatorCenter : replicatorCenters )
|
||||
{
|
||||
replicators.add(Replicator.getOrCreate(replicatorCenter));
|
||||
}
|
||||
sender.sendMessage(Messages.info(replicators));
|
||||
return true;
|
||||
}
|
||||
// replicator specified as argument
|
||||
else if ( args.length == 2 )
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// if some unknown argument has been given, show help message
|
||||
sender.sendMessage(Messages.helpGeneral(( (Player) sender ).getPlayer()));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -19,14 +19,25 @@ package de.craftinc.replicator;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Messages
|
||||
{
|
||||
private static final String NEWLINE = "\n";
|
||||
|
||||
private static final String pluginName = Plugin.instance.getDescription().getName();
|
||||
|
||||
private static String makeCmd( Player player, String command, String explanation, String[] permissions, String... args )
|
||||
private static String makeCmd( Player player, String command, String explanation, String[] permissions,
|
||||
String... args )
|
||||
{
|
||||
for ( String perm : permissions )
|
||||
{
|
||||
if ( !player.hasPermission(perm) )
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
// command
|
||||
@ -56,21 +67,16 @@ public class Messages
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static String helpGeneral(Player player) =
|
||||
ChatColor.GREEN + pluginName + " - Usage:" + NEWLINE +
|
||||
makeCmd("help", "shows this help", null) +
|
||||
makeCmd("adduser | deluser",
|
||||
"Add or remove a player's right to use the replicator in front of you or the replicator given by \"id\".",
|
||||
null, "<player>", "[id]") +
|
||||
makeCmd("addowner | delowner",
|
||||
"Add or remove a player's right to use AND add or remove other users and owners to the replicator in front of you or the replicator given by \"id\".",
|
||||
null, "<player>", "[id]") +
|
||||
makeCmd("checkversion", "Checks for a newer version.", new String[]{"craftinc.replicator.update"});
|
||||
|
||||
public static String borderCreationSuccessful
|
||||
= ChatColor.YELLOW + "New border was set " +
|
||||
ChatColor.GREEN + "successfully" +
|
||||
ChatColor.YELLOW + "!";
|
||||
public static String helpGeneral( Player player )
|
||||
{
|
||||
return ChatColor.GREEN + pluginName + " - Usage:" + NEWLINE +
|
||||
makeCmd(player, "help", "shows this help", null) +
|
||||
makeCmd(player, "adduser | deluser", "Add or remove a player's right to use the replicator in front of you or the replicator given by \"id\".", null, "<player>", "[id]") +
|
||||
makeCmd(player, "addowner | delowner", "Add or remove a player's right to use AND add or remove other users and owners to the replicator in front of you or the replicator given by \"id\".", null, "<player>", "[id]") +
|
||||
makeCmd(player, "list", "Lists all your replicators.", null) +
|
||||
makeCmd(player, "info", "Get information about the replicator in front of you or the replicator given by \"id\".", null, "[id]") +
|
||||
makeCmd(player, "checkversion", "Checks for a newer version.", new String[] { "craftinc.replicator.update" });
|
||||
}
|
||||
|
||||
public static String commandIssuedByNonPlayer
|
||||
= ChatColor.RED + "Only a player can use " + pluginName + " commands!";
|
||||
@ -81,6 +87,9 @@ public class Messages
|
||||
public static String noPermissionCheckversion =
|
||||
ChatColor.RED + "Sorry, you don't have permission to check for new versions.";
|
||||
|
||||
public static String noReplicatorInSight =
|
||||
ChatColor.RED + "You are not looking at an replicator.";
|
||||
|
||||
public static String updateMessage( String newVersion, String curVersion )
|
||||
{
|
||||
return ChatColor.RED + pluginName + ": New version available!" + NEWLINE +
|
||||
@ -93,4 +102,26 @@ public class Messages
|
||||
|
||||
public static String noUpdateAvailable =
|
||||
ChatColor.YELLOW + "No updates available.";
|
||||
|
||||
public static String info( ArrayList<Replicator> replicators )
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(ChatColor.YELLOW + "The following replicators have been found:" + NEWLINE);
|
||||
for (Replicator r: replicators)
|
||||
{
|
||||
sb.append(ChatColor.GOLD + r.id + " @ " + r.center.getX() + "," + r.center.getZ() + NEWLINE);
|
||||
sb.append(ChatColor.GREEN + "Owners:" + NEWLINE);
|
||||
for (String owner: r.getOwners())
|
||||
{
|
||||
sb.append(ChatColor.WHITE + owner + " ");
|
||||
}
|
||||
sb.append(NEWLINE + ChatColor.GREEN + "Users:" + NEWLINE);
|
||||
for (String user: r.getUsers())
|
||||
{
|
||||
sb.append(ChatColor.WHITE + user + " ");
|
||||
}
|
||||
sb.append(NEWLINE);
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
@ -19,13 +19,6 @@ package de.craftinc.replicator;
|
||||
|
||||
import org.bukkit.Material;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
* User: Mochaccino
|
||||
* Date: 18.03.13
|
||||
* Time: 20:33
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
public class Pattern {
|
||||
private static final Material[][][] repPattern = {{{Material.OBSIDIAN,Material.OBSIDIAN,null},{Material.MOSSY_COBBLESTONE,Material.OBSIDIAN,null},{Material.GLOWSTONE,Material.OBSIDIAN,null}},
|
||||
{{Material.GOLD_BLOCK,Material.DIAMOND_BLOCK,Material.OBSIDIAN},{Material.AIR,Material.JACK_O_LANTERN,Material.OBSIDIAN},{Material.MOSSY_COBBLESTONE,Material.OBSIDIAN,null}},
|
||||
|
@ -23,13 +23,6 @@ import org.bukkit.Material;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Created with IntelliJ IDEA.
|
||||
* User: starback
|
||||
* Date: 18.03.13
|
||||
* Time: 16:26
|
||||
* To change this template use File | Settings | File Templates.
|
||||
*/
|
||||
public class Replicator {
|
||||
|
||||
private ArrayList<String> owners;
|
||||
|
@ -21,10 +21,10 @@ softdepend: [Multiverse-Core]
|
||||
authors: [ddidderr, beuth_el_max]
|
||||
website: http://www.craftinc.de/craftinc-replicator
|
||||
|
||||
|
||||
commands:
|
||||
replicate:
|
||||
description: Shows help for Craft Inc. Replicate
|
||||
aliases: [repli]
|
||||
|
||||
permissions:
|
||||
craftinc.replicator.update:
|
||||
|
Loading…
x
Reference in New Issue
Block a user