AutoCraft Update

This commit is contained in:
James 2020-06-25 16:21:52 +01:00
parent a0b7996b14
commit a1710f8397
5 changed files with 95 additions and 15 deletions

View File

@ -51,7 +51,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.15.2-R0.1-SNAPSHOT</version>
<version>1.14.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
@ -65,7 +65,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>plugin-annotations</artifactId>
<version>1.2.2-SNAPSHOT</version>
<version>1.2.3-SNAPSHOT</version>
</dependency>
<!-- <dependency>-->

View File

@ -6,24 +6,16 @@ import com.jamesdpeters.minecraft.chests.listeners.ChestLinkListener;
import com.jamesdpeters.minecraft.chests.listeners.HopperListener;
import com.jamesdpeters.minecraft.chests.listeners.InventoryListener;
import com.jamesdpeters.minecraft.chests.listeners.WorldListener;
import com.jamesdpeters.minecraft.chests.serialize.AutoCraftingStorage;
import com.jamesdpeters.minecraft.chests.serialize.Config;
import com.jamesdpeters.minecraft.chests.maventemplates.BuildConstants;
import com.jamesdpeters.minecraft.chests.misc.Permissions;
import com.jamesdpeters.minecraft.chests.misc.Settings;
import com.jamesdpeters.minecraft.chests.misc.Stats;
import com.jamesdpeters.minecraft.chests.serialize.InventoryStorage;
import com.jamesdpeters.minecraft.chests.serialize.LinkedChest;
import com.jamesdpeters.minecraft.chests.serialize.MaterialSerializer;
import com.jamesdpeters.minecraft.chests.serialize.RecipeSerializable;
import com.jamesdpeters.minecraft.chests.serialize.SpigotConfig;
import com.jamesdpeters.minecraft.chests.serialize.*;
import com.jamesdpeters.minecraft.chests.versionchecker.UpdateCheck;
import com.jamesdpeters.minecraft.chests.maventemplates.BuildConstants;
import fr.minuskube.inv.InventoryManager;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.bukkit.permissions.PermissionDefault;
import org.bukkit.plugin.java.JavaPlugin;
@ -34,11 +26,9 @@ import org.bukkit.plugin.java.annotation.plugin.ApiVersion;
import org.bukkit.plugin.java.annotation.plugin.Description;
import org.bukkit.plugin.java.annotation.plugin.Plugin;
import org.bukkit.plugin.java.annotation.plugin.author.Author;
import org.bukkit.scheduler.BukkitRunnable;
@Plugin(name = "ChestsPlusPlus", version = BuildConstants.VERSION)
@ApiVersion(ApiVersion.Target.v1_13)
@ApiVersion(ApiVersion.Target.v1_14)
@Description(value = "Minecraft Spigot mod that enhances chests and hoppers, with ChestLinks and Hopper filters!")
@Author(value = "jameslfc19")
@Commands(@Command(name = "chestlink", desc = "Chests++ Commands.", aliases = {"cl"}, usage = "Use /chestlink help for more info."))

View File

@ -2,6 +2,7 @@ package com.jamesdpeters.minecraft.chests.commands;
import com.jamesdpeters.minecraft.chests.crafting.Crafting;
import com.jamesdpeters.minecraft.chests.inventories.ChestLinkMenu;
import com.jamesdpeters.minecraft.chests.serialize.AutoCraftingStorage;
import com.jamesdpeters.minecraft.chests.serialize.Config;
import com.jamesdpeters.minecraft.chests.misc.Messages;
import com.jamesdpeters.minecraft.chests.misc.Permissions;
@ -195,6 +196,7 @@ public class RemoteChestCommand extends ServerCommand {
else Messages.MUST_LOOK_AT_CHEST(player);
return true;
}
}
// Crafting.craft(player);
}
@ -293,4 +295,46 @@ public class RemoteChestCommand extends ServerCommand {
}
return false;
}
private static boolean memberAutoCraftCommand(String[] args, CommandSender sender){
Player player = (Player) sender;
if(args.length > 4){
if(sender.hasPermission(Permissions.MEMBER)){
if(args[2].equals("add")) {
Player toAdd = Bukkit.getPlayer(args[4]);
AutoCraftingStorage storage = Config.getAutoCraftStorage(player.getUniqueId(), args[3]);
if (storage != null && storage.addMember(toAdd))
Messages.ADDED_MEMBER(player, storage, args[4]);
else Messages.UNABLE_TO_ADD_MEMBER(player, args[4]);
} else if(args[2].equals("remove")){
Player toAdd = Bukkit.getPlayer(args[4]);
AutoCraftingStorage storage = Config.getAutoCraftStorage(player.getUniqueId(), args[3]);
if(storage != null && storage.removeMember(toAdd))
Messages.REMOVE_MEMBER(player, storage, args[4]);
else Messages.UNABLE_TO_REMOVE_MEMBER(player,args[4]);
} else {
player.sendMessage(ChatColor.RED+OPTIONS.MEMBER.commandHelp);
player.sendMessage(ChatColor.RED+OPTIONS.MEMBER.description);
}
} else {
Messages.NO_PERMISSION(player);
}
return true;
} else if(args.length > 3){
if(sender.hasPermission(Permissions.MEMBER)){
if(args[2].equals("list")) {
AutoCraftingStorage storage = Config.getAutoCraftStorage(player.getUniqueId(), args[3]);
if(storage != null){
Messages.LIST_MEMBERS(player,storage);
return true;
}
}
}
} else {
player.sendMessage(ChatColor.RED+OPTIONS.MEMBER.commandHelp);
player.sendMessage(ChatColor.RED+OPTIONS.MEMBER.description);
return true;
}
return false;
}
}

View File

@ -1,5 +1,6 @@
package com.jamesdpeters.minecraft.chests.misc;
import com.jamesdpeters.minecraft.chests.serialize.AutoCraftingStorage;
import com.jamesdpeters.minecraft.chests.serialize.Config;
import com.jamesdpeters.minecraft.chests.serialize.InventoryStorage;
import org.bukkit.ChatColor;
@ -47,6 +48,11 @@ public class Messages {
target.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD+TAG+" Current Members: "+Utils.prettyPrintPlayers(ChatColor.GREEN,storage.getMembers()));
}
public static void ADDED_MEMBER(Player target, AutoCraftingStorage storage, String added){
target.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD+TAG+" Succesfully added "+ChatColor.WHITE+added+ChatColor.GREEN+" to AutoCraft group "+ChatColor.WHITE+storage.getIdentifier());
target.sendMessage(ChatColor.GREEN+""+ChatColor.BOLD+TAG+" Current Members: "+Utils.prettyPrintPlayers(ChatColor.GREEN,storage.getMembers()));
}
public static void UNABLE_TO_ADD_MEMBER(Player target, String toAdd){
target.sendMessage(ChatColor.RED+""+ChatColor.BOLD+TAG+" Unable to add player "+toAdd+" to ChestLink!");
}
@ -56,6 +62,11 @@ public class Messages {
target.sendMessage(ChatColor.RED+""+ChatColor.BOLD+TAG+" Current Members: "+Utils.prettyPrintPlayers(ChatColor.RED,storage.getMembers()));
}
public static void REMOVE_MEMBER(Player target, AutoCraftingStorage storage, String removed){
target.sendMessage(ChatColor.RED+""+ChatColor.BOLD+TAG+" Succesfully removed "+ChatColor.WHITE+removed+ChatColor.RED+" from AutoCraft group "+ChatColor.WHITE+storage.getIdentifier());
target.sendMessage(ChatColor.RED+""+ChatColor.BOLD+TAG+" Current Members: "+Utils.prettyPrintPlayers(ChatColor.RED,storage.getMembers()));
}
public static void UNABLE_TO_REMOVE_MEMBER(Player target, String toAdd){
target.sendMessage(ChatColor.RED+""+ChatColor.BOLD+TAG+" Unable to remove player "+toAdd+" from ChestLink! Were they already removed?");
}
@ -76,6 +87,14 @@ public class Messages {
}
}
public static void LIST_MEMBERS(Player target, AutoCraftingStorage storage){
if(storage.getMembers() != null){
target.sendMessage(ChatColor.GREEN+"Members of AutoCraft group "+ChatColor.WHITE+storage.getIdentifier()+": "+Utils.prettyPrintPlayers(ChatColor.GREEN,storage.getMembers()));
} else {
target.sendMessage(ChatColor.YELLOW+"There are no additional members in the group: "+ChatColor.WHITE+storage.getIdentifier());
}
}
public static void SET_PUBLIC(Player target, InventoryStorage storage){
target.sendMessage(ChatColor.GREEN+"Publicity for ChestLink "+storage.getIdentifier()+" is set to: "+ChatColor.WHITE+storage.isPublic());
}

View File

@ -142,4 +142,31 @@ public class AutoCraftingStorage implements ConfigurationSerializable {
virtualCraftingHolder.setUpdatingRecipe(false);
virtualCraftingHolder.updateGUI();
}
public boolean addMember(Player player){
if(player != null){
if(members == null) members = new ArrayList<>();
if(bukkitMembers == null) bukkitMembers = new ArrayList<>();
members.add(player.getUniqueId().toString());
bukkitMembers.add(player);
return true;
}
return false;
}
public boolean removeMember(Player player){
if(player != null){
if(bukkitMembers != null) bukkitMembers.remove(player);
if(members != null){
members.remove(player.getUniqueId().toString());
return true;
}
}
return false;
}
public List<OfflinePlayer> getMembers(){
return bukkitMembers;
}
}