Coded the Gold Standard of Insurance

This commit is contained in:
alisolarflare 2016-11-17 15:27:48 -05:00
parent 52c97535ab
commit 07fb4113af
7 changed files with 259 additions and 0 deletions

View file

@ -0,0 +1,71 @@
package alisolarflare.components.insurance;
import java.util.Arrays;
import java.util.List;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import alisolarflare.components.BaseCommand;
import alisolarflare.components.insurance.Insurance.InsuranceType;
public class Insurance {
public static enum InsuranceType{
Nugget, Ingot, Block
};
public static ItemStack getInsurance(InsuranceType insuranceType){
ItemStack insuranceItem;
List<String> lore;
switch(insuranceType){
case Nugget:
insuranceItem = new ItemStack(Material.GOLD_NUGGET);
lore = Arrays.asList(
"This insurance nugget will protect one inventory slot from death! Be careful"
+ "though, insurance is removed whenever you die, with each itemslot costing"
+ "one nugget."
);
break;
case Ingot:
insuranceItem = new ItemStack(Material.GOLD_INGOT);
lore = Arrays.asList(
"This insurance ingot will protect nine inventory slots from death! Be "
+ "careful though, insurance is removed whenever you die, with each "
+ "inventory row costing one ingot."
);
break;
case Block:
insuranceItem = new ItemStack(Material.GOLD_BLOCK);
lore = Arrays.asList(
"This insurance block will give your inventory full protection against death! "
+ "Be careful though, this block will split into ingots, and you'll lose 3"
+ "upon death."
);
break;
default:
lore = Arrays.asList(
"The InsuranceType " + insuranceType.toString() + " is not handled by the " +
"Insurance Class in" + Insurance.class.getPackage().getName() + ". Contact a "+
"developer with a screenshot of this message"
);
insuranceItem = BaseCommand.CreateDebugPotato(lore);
}
insuranceItem.addEnchantment(Enchantment.DURABILITY, 10);
insuranceItem.getItemMeta().setLore(lore);
return insuranceItem;
}
public static ItemStack getInsurance(InsuranceType insuranceType, int amount){
ItemStack insurance = Insurance.getInsurance(insuranceType);
insurance.setAmount(amount);
return insurance;
}
public static boolean isInsuranceType(String string){
for (InsuranceType insuranceType : Insurance.InsuranceType.values()){
if (string.equalsIgnoreCase(insuranceType.toString())){
return true;
}
}
return false;
}
}

View file

@ -0,0 +1,17 @@
package alisolarflare.components.insurance;
import org.bukkit.plugin.java.JavaPlugin;
import alisolarflare.components.Component;
public class InsuranceComponent extends Component {
@Override
public void register(JavaPlugin plugin) {
registerCommand(plugin, new getInsurance());
registerCommand(plugin, new getInsuranceNugget());
registerCommand(plugin, new getInsuranceBar());
registerCommand(plugin, new getInsuranceBlock());
}
}

View file

@ -0,0 +1,52 @@
package alisolarflare.components.insurance;
import org.apache.commons.lang.StringUtils;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import alisolarflare.components.ModCommand;
import alisolarflare.components.insurance.Insurance.InsuranceType;
public class getInsurance extends ModCommand {
@Override
public boolean OnCommand(CommandSender sender, String alias, String[] args) {
Player player = (Player) sender;
if (args.length == 0){
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Block));
return true;
}else if(args.length == 1){
if (StringUtils.isNumeric(args[0])){
int amount = Integer.parseInt(args[0]);
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Block, amount));
return true;
}else{
if (Insurance.isInsuranceType(args[0])){
player.getInventory().addItem((Insurance.getInsurance(InsuranceType.valueOf(args[0]))));
return true;
}else{
return false;
}
}
}else if (args.length >=2){
if (StringUtils.isNumeric(args[0]) && Insurance.isInsuranceType(args[1])){
player.getInventory().addItem((Insurance.getInsurance(InsuranceType.valueOf(args[1]), Integer.parseInt(args[0]))));
return true;
}else{
return false;
}
}
return false;
}
@Override
public String[] GetHelpText(String alias){
return new String[]{
"Usage: /getInsurance [amount] [type:nugget/bar/block/compound]",
"Use this command to get gold-standard inventory insurance, that saves ",
"items in an inventory upon death. One nugget saves one ItemStack, a bar",
"saves nine, a block saves 54. Compound converts amount (in nuggets) to a",
"mix of both nuggets, bars and blocks"
};
}
}

View file

@ -0,0 +1,23 @@
package alisolarflare.components.insurance;
import org.apache.commons.lang3.StringUtils;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import alisolarflare.components.ModCommand;
import alisolarflare.components.insurance.Insurance.InsuranceType;
public class getInsuranceBar extends ModCommand {
@Override
public boolean OnCommand(CommandSender sender, String alias, String[] args) {
Player player = (Player) sender;
if (args.length > 0 || StringUtils.isNumeric(args[0])){
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Ingot, Integer.parseInt(args[0])));
}else{
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Ingot));
}
return false;
}
}

View file

@ -0,0 +1,23 @@
package alisolarflare.components.insurance;
import org.apache.commons.lang3.StringUtils;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import alisolarflare.components.ModCommand;
import alisolarflare.components.insurance.Insurance.InsuranceType;
public class getInsuranceBlock extends ModCommand {
@Override
public boolean OnCommand(CommandSender sender, String alias, String[] args) {
Player player = (Player) sender;
if (args.length > 0 || StringUtils.isNumeric(args[0])){
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Block, Integer.parseInt(args[0])));
}else{
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Block));
}
return false;
}
}

View file

@ -0,0 +1,23 @@
package alisolarflare.components.insurance;
import org.apache.commons.lang3.StringUtils;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import alisolarflare.components.ModCommand;
import alisolarflare.components.insurance.Insurance.InsuranceType;
public class getInsuranceNugget extends ModCommand {
@Override
public boolean OnCommand(CommandSender sender, String alias, String[] args) {
Player player = (Player) sender;
if (args.length > 0 || StringUtils.isNumeric(args[0])){
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Nugget, Integer.parseInt(args[0])));
}else{
player.getInventory().addItem(Insurance.getInsurance(InsuranceType.Nugget));
}
return false;
}
}

View file

@ -0,0 +1,50 @@
package alisolarflare.components.metrics.commands;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.enchantments.EnchantmentTarget;
import org.bukkit.inventory.ItemStack;
public class TestEnchantment extends Enchantment {
public TestEnchantment(int id) {
super(id);
// TODO Auto-generated constructor stub
}
@Override
public String getName() {
// TODO Auto-generated method stub
return null;
}
@Override
public int getMaxLevel() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getStartLevel() {
// TODO Auto-generated method stub
return 0;
}
@Override
public EnchantmentTarget getItemTarget() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean conflictsWith(Enchantment other) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean canEnchantItem(ItemStack item) {
// TODO Auto-generated method stub
return false;
}
}