->Added generateSetPiece() and SetItemSet() to API to generate a very
specific piece for an item set. ->Fixed bugged Monster shields.
This commit is contained in:
parent
6c16d1c816
commit
36b3f7bbbf
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
name: TwosideKeeper
|
name: TwosideKeeper
|
||||||
main: sig.plugin.TwosideKeeper.TwosideKeeper
|
main: sig.plugin.TwosideKeeper.TwosideKeeper
|
||||||
version: 3.8.5a
|
version: 3.8.5ar1
|
||||||
commands:
|
commands:
|
||||||
money:
|
money:
|
||||||
description: Tells the player the amount of money they are holding.
|
description: Tells the player the amount of money they are holding.
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
package sig.plugin.TwosideKeeper.HelperStructures.Common;
|
||||||
|
|
||||||
|
public enum CustomRecipe {
|
||||||
|
|
||||||
|
}
|
@ -91,7 +91,6 @@ public enum ItemSet {
|
|||||||
int oldtier=GetTier(item);
|
int oldtier=GetTier(item);
|
||||||
//TwosideKeeper.log("In lore: "+lore.get(i)+". Old tier: "+oldtier,2);
|
//TwosideKeeper.log("In lore: "+lore.get(i)+". Old tier: "+oldtier,2);
|
||||||
lore.set(i, lore.get(i).replace("T"+oldtier, "T"+tier));
|
lore.set(i, lore.get(i).replace("T"+oldtier, "T"+tier));
|
||||||
GenericFunctions.UpdateItemLore(item); //Update this item now that we upgraded the tier.
|
|
||||||
found=true;
|
found=true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -99,6 +98,7 @@ public enum ItemSet {
|
|||||||
ItemMeta m = item.getItemMeta();
|
ItemMeta m = item.getItemMeta();
|
||||||
m.setLore(lore);
|
m.setLore(lore);
|
||||||
item.setItemMeta(m);
|
item.setItemMeta(m);
|
||||||
|
GenericFunctions.UpdateItemLore(item); //Update this item now that we upgraded the tier.
|
||||||
}
|
}
|
||||||
if (!found) {
|
if (!found) {
|
||||||
TwosideKeeper.log(ChatColor.RED+"[ERROR] Could not detect proper tier of "+item.toString()+"!", 1);
|
TwosideKeeper.log(ChatColor.RED+"[ERROR] Could not detect proper tier of "+item.toString()+"!", 1);
|
||||||
@ -324,4 +324,31 @@ public enum ItemSet {
|
|||||||
}
|
}
|
||||||
return lore;
|
return lore;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void SetItemSet(ItemStack item, ItemSet set) {
|
||||||
|
//Convert this item to a different set.
|
||||||
|
boolean found=false;
|
||||||
|
if (isSetItem(item) &&
|
||||||
|
item.getItemMeta().hasLore()) {
|
||||||
|
List<String> lore = item.getItemMeta().getLore();
|
||||||
|
for (int i=0;i<lore.size();i++) {
|
||||||
|
if (lore.get(i).contains(ChatColor.GOLD+""+ChatColor.BOLD+"T")) {
|
||||||
|
//This is the tier line.
|
||||||
|
ItemSet oldset=GetSet(item);
|
||||||
|
//TwosideKeeper.log("In lore: "+lore.get(i)+". Old tier: "+oldtier,2);
|
||||||
|
//lore.set(i, lore.get(i).replace("T"+oldtier, "T"+tier));
|
||||||
|
lore.set(i, lore.get(i).replace(GenericFunctions.CapitalizeFirstLetters(oldset.name()), GenericFunctions.CapitalizeFirstLetters(set.name())));
|
||||||
|
found=true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ItemMeta m = item.getItemMeta();
|
||||||
|
m.setLore(lore);
|
||||||
|
item.setItemMeta(m);
|
||||||
|
GenericFunctions.UpdateItemLore(item); //Update this item now that we upgraded the tier.
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
TwosideKeeper.log(ChatColor.RED+"[ERROR] Could not detect proper tier of "+item.toString()+"!", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,79 +135,112 @@ public class Loot {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ItemStack GenerateSetPiece(ItemStack item, boolean hardened, int tierbonus) {
|
public static ItemStack GenerateSetPiece(ItemStack item, boolean hardened, int tierbonus) {
|
||||||
List<String> lore = new ArrayList<String>();
|
|
||||||
int type = (int)(Math.random()*3);
|
int type = (int)(Math.random()*3);
|
||||||
if (item.getType().name().contains("LEATHER") || item.getType()==Material.BOW) {
|
if (item.getType().name().contains("LEATHER") || item.getType()==Material.BOW) {
|
||||||
type=4+(int)(Math.random()*4);
|
type=4+(int)(Math.random()*4);
|
||||||
}
|
}
|
||||||
String set_name = "";
|
|
||||||
String prefix = "";
|
|
||||||
prefix = (hardened)?(ChatColor.LIGHT_PURPLE+""+ChatColor.BOLD+"Hardened Mega "):(ChatColor.AQUA+""+ChatColor.BOLD+"Mega ");
|
|
||||||
ItemSet set = null;
|
ItemSet set = null;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 0:{
|
case 0:{
|
||||||
set = ItemSet.PANROS;
|
set = ItemSet.PANROS;
|
||||||
tierbonus = modifyTierBonus(item,tierbonus);
|
|
||||||
set_name = prefix+"Panros Striker "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Striker set.
|
|
||||||
}break;
|
}break;
|
||||||
case 1:{
|
case 1:{
|
||||||
set = ItemSet.SONGSTEEL;
|
set = ItemSet.SONGSTEEL;
|
||||||
|
}break;
|
||||||
|
case 2:{
|
||||||
|
set = ItemSet.DAWNTRACKER;
|
||||||
|
}break;
|
||||||
|
case 3:{
|
||||||
|
set = ItemSet.LORASYS;
|
||||||
|
}break;
|
||||||
|
case 4:{
|
||||||
|
set = ItemSet.JAMDAK;
|
||||||
|
}break;
|
||||||
|
case 5:{
|
||||||
|
set = ItemSet.DARNYS;
|
||||||
|
}break;
|
||||||
|
case 6:{
|
||||||
|
set = ItemSet.ALIKAHN;
|
||||||
|
}break;
|
||||||
|
case 7:{
|
||||||
|
set = ItemSet.LORASAADI;
|
||||||
|
}break;
|
||||||
|
default:
|
||||||
|
set = ItemSet.PANROS;
|
||||||
|
}
|
||||||
|
return GenerateSetPiece(item,set,hardened,tierbonus);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack GenerateSetPiece(Material item, ItemSet set, boolean hardened, int tierbonus) {
|
||||||
|
return GenerateSetPiece(new ItemStack(item),set,hardened,tierbonus);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack GenerateSetPiece(ItemStack item, ItemSet set, boolean hardened, int tierbonus) {
|
||||||
|
List<String> lore = new ArrayList<String>();
|
||||||
|
String set_name = "";
|
||||||
|
String prefix = "";
|
||||||
|
prefix = (hardened)?(ChatColor.LIGHT_PURPLE+""+ChatColor.BOLD+"Hardened Mega "):(ChatColor.AQUA+""+ChatColor.BOLD+"Mega ");
|
||||||
|
switch (set) {
|
||||||
|
case PANROS:{
|
||||||
|
tierbonus = modifyTierBonus(item,tierbonus);
|
||||||
|
set_name = prefix+"Panros Striker "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Striker set.
|
||||||
|
}break;
|
||||||
|
case SONGSTEEL:{
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.SHIELD);
|
item.setType(Material.SHIELD);
|
||||||
|
tierbonus/=2;
|
||||||
}
|
}
|
||||||
tierbonus = modifyTierBonus(item,tierbonus);
|
tierbonus = modifyTierBonus(item,tierbonus);
|
||||||
set_name = prefix+"Songsteel Defender "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Defender set.
|
set_name = prefix+"Songsteel Defender "+GenericFunctions.UserFriendlyMaterialName(item.getType()); //Defender set.
|
||||||
}break;
|
}break;
|
||||||
case 2:{
|
case DAWNTRACKER:{
|
||||||
set = ItemSet.DAWNTRACKER;
|
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.valueOf(item.getType().toString().replace("SWORD","")+"AXE"));
|
item.setType(Material.valueOf(item.getType().toString().replace("SWORD","")+"AXE"));
|
||||||
}
|
}
|
||||||
tierbonus = modifyTierBonus(item,tierbonus);
|
tierbonus = modifyTierBonus(item,tierbonus);
|
||||||
set_name = prefix+"Dawntracker Barbarian "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Dawntracker Barbarian "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
}break;
|
}break;
|
||||||
case 3:{
|
case LORASYS:{
|
||||||
set = ItemSet.LORASYS;
|
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
//Convert Slayer weapon here. ???
|
//Convert Slayer weapon here. ???
|
||||||
}
|
}
|
||||||
tierbonus = modifyTierBonus(item,tierbonus);
|
tierbonus = modifyTierBonus(item,tierbonus);
|
||||||
set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
}break;
|
}break;
|
||||||
case 4:{
|
case JAMDAK:{
|
||||||
set = ItemSet.JAMDAK;
|
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
item.setType(Material.BOW);
|
item.setType(Material.BOW);
|
||||||
|
tierbonus/=2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Jamdak Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Jamdak Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (Math.random()<=0.5 && tierbonus<2) {
|
if (Math.random()<=0.5 && tierbonus<2) {
|
||||||
tierbonus+=2;
|
tierbonus+=2;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
case 5:{
|
case DARNYS:{
|
||||||
set = ItemSet.DARNYS;
|
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
//Convert Slayer weapon here. ???
|
item.setType(Material.BOW);
|
||||||
|
tierbonus/=2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Darnys Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Darnys Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (Math.random()<=0.5 && tierbonus<1) {
|
if (Math.random()<=0.5 && tierbonus<1) {
|
||||||
tierbonus+=1;
|
tierbonus+=1;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
case 6:{
|
case ALIKAHN:{
|
||||||
set = ItemSet.ALIKAHN;
|
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
//Convert Slayer weapon here. ???
|
item.setType(Material.BOW);
|
||||||
|
tierbonus/=2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Alikahn Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Alikahn Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (Math.random()<=0.1 && tierbonus<1) {
|
if (Math.random()<=0.1 && tierbonus<1) {
|
||||||
tierbonus+=1;
|
tierbonus+=1;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
case 7:{
|
case LORASAADI:{
|
||||||
set = ItemSet.LORASAADI;
|
|
||||||
if (item.getType().toString().contains("SWORD")) {
|
if (item.getType().toString().contains("SWORD")) {
|
||||||
//Convert Slayer weapon here. ???
|
item.setType(Material.BOW);
|
||||||
|
tierbonus/=2;
|
||||||
}
|
}
|
||||||
set_name = prefix+"Lorasaadi Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
set_name = prefix+"Lorasaadi Ranger "+GenericFunctions.UserFriendlyMaterialName(item.getType());
|
||||||
if (tierbonus>0 && Math.random()<=0.5) {
|
if (tierbonus>0 && Math.random()<=0.5) {
|
||||||
|
@ -362,8 +362,12 @@ public class MonsterController {
|
|||||||
int patterns = (int)(Math.random()*7)+1;
|
int patterns = (int)(Math.random()*7)+1;
|
||||||
List<Pattern> patternlist = new ArrayList<Pattern>();
|
List<Pattern> patternlist = new ArrayList<Pattern>();
|
||||||
for (int i=0;i<patterns;i++) {
|
for (int i=0;i<patterns;i++) {
|
||||||
patternlist.add(new Pattern(DyeColor.values()[(int)(Math.random()*DyeColor.values().length)],
|
int patternnumb = (int)(Math.random()*PatternType.values().length);
|
||||||
PatternType.values()[(int)(Math.random()*PatternType.values().length)]));
|
PatternType type = PatternType.values()[patternnumb];
|
||||||
|
if (type!=PatternType.BASE) {
|
||||||
|
patternlist.add(new Pattern(DyeColor.values()[(int)(Math.random()*DyeColor.values().length)],
|
||||||
|
type));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
aPlugin.API.setShieldBannerPattern(shield, DyeColor.values()[(int)(Math.random()*DyeColor.values().length)], patternlist);
|
aPlugin.API.setShieldBannerPattern(shield, DyeColor.values()[(int)(Math.random()*DyeColor.values().length)], patternlist);
|
||||||
m.getEquipment().setItemInOffHand(shield);
|
m.getEquipment().setItemInOffHand(shield);
|
||||||
@ -483,8 +487,12 @@ public class MonsterController {
|
|||||||
int patterns = (int)(Math.random()*7)+1;
|
int patterns = (int)(Math.random()*7)+1;
|
||||||
List<Pattern> patternlist = new ArrayList<Pattern>();
|
List<Pattern> patternlist = new ArrayList<Pattern>();
|
||||||
for (int i=0;i<patterns;i++) {
|
for (int i=0;i<patterns;i++) {
|
||||||
patternlist.add(new Pattern(DyeColor.values()[(int)(Math.random()*DyeColor.values().length)],
|
int patternnumb = (int)(Math.random()*PatternType.values().length);
|
||||||
PatternType.values()[(int)(Math.random()*PatternType.values().length)]));
|
PatternType type = PatternType.values()[patternnumb];
|
||||||
|
if (type!=PatternType.BASE) {
|
||||||
|
patternlist.add(new Pattern(DyeColor.values()[(int)(Math.random()*DyeColor.values().length)],
|
||||||
|
type));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
aPlugin.API.setShieldBannerPattern(shield, DyeColor.values()[(int)(Math.random()*DyeColor.values().length)], patternlist);
|
aPlugin.API.setShieldBannerPattern(shield, DyeColor.values()[(int)(Math.random()*DyeColor.values().length)], patternlist);
|
||||||
m.getEquipment().setItemInOffHand(shield);
|
m.getEquipment().setItemInOffHand(shield);
|
||||||
@ -538,8 +546,12 @@ public class MonsterController {
|
|||||||
int patterns = (int)(Math.random()*7)+1;
|
int patterns = (int)(Math.random()*7)+1;
|
||||||
List<Pattern> patternlist = new ArrayList<Pattern>();
|
List<Pattern> patternlist = new ArrayList<Pattern>();
|
||||||
for (int i=0;i<patterns;i++) {
|
for (int i=0;i<patterns;i++) {
|
||||||
patternlist.add(new Pattern(DyeColor.values()[(int)(Math.random()*DyeColor.values().length)],
|
int patternnumb = (int)(Math.random()*PatternType.values().length);
|
||||||
PatternType.values()[(int)(Math.random()*PatternType.values().length)]));
|
PatternType type = PatternType.values()[patternnumb];
|
||||||
|
if (type!=PatternType.BASE) {
|
||||||
|
patternlist.add(new Pattern(DyeColor.values()[(int)(Math.random()*DyeColor.values().length)],
|
||||||
|
type));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
aPlugin.API.setShieldBannerPattern(shield, DyeColor.values()[(int)(Math.random()*DyeColor.values().length)], patternlist);
|
aPlugin.API.setShieldBannerPattern(shield, DyeColor.values()[(int)(Math.random()*DyeColor.values().length)], patternlist);
|
||||||
m.getEquipment().setItemInOffHand(shield);
|
m.getEquipment().setItemInOffHand(shield);
|
||||||
|
@ -1135,7 +1135,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}*/
|
}*/
|
||||||
/*Monster m = MonsterController.convertMonster((Monster)p.getWorld().spawnEntity(p.getLocation(),EntityType.ZOMBIE), MonsterDifficulty.ELITE);
|
/*Monster m = MonsterController.convertMonster((Monster)p.getWorld().spawnEntity(p.getLocation(),EntityType.ZOMBIE), MonsterDifficulty.ELITE);
|
||||||
m.setHealth(m.getMaxHealth()/16d);*/
|
m.setHealth(m.getMaxHealth()/16d);*/
|
||||||
p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.LEATHER_CHESTPLATE, true, true, 5));
|
//aPlugin.API.sendActionBarMessage(p, "Testing/nMultiple Lines.\nLolz");
|
||||||
|
TwosideKeeperAPI.setItemSet(p.getEquipment().getItemInMainHand(), ItemSet.PANROS);
|
||||||
|
//p.getWorld().dropItemNaturally(p.getLocation(), TwosideKeeperAPI.generateMegaPiece(Material.LEATHER_CHESTPLATE, true, true, 5));
|
||||||
/*p.getWorld().dropItemNaturally(p.getLocation(), UPGRADE_SHARD.getItemStack());
|
/*p.getWorld().dropItemNaturally(p.getLocation(), UPGRADE_SHARD.getItemStack());
|
||||||
ItemStack upgrade = UPGRADE_SHARD.getItemStack();
|
ItemStack upgrade = UPGRADE_SHARD.getItemStack();
|
||||||
GenericFunctions.setUpgradeShardTier(upgrade,3);
|
GenericFunctions.setUpgradeShardTier(upgrade,3);
|
||||||
|
@ -130,6 +130,9 @@ public final class TwosideKeeperAPI {
|
|||||||
public static ItemStack generateMegaPiece(Material item, boolean hardened, boolean isSetPiece, int basetier) {
|
public static ItemStack generateMegaPiece(Material item, boolean hardened, boolean isSetPiece, int basetier) {
|
||||||
return Loot.GenerateMegaPiece(item, hardened, isSetPiece, basetier);
|
return Loot.GenerateMegaPiece(item, hardened, isSetPiece, basetier);
|
||||||
}
|
}
|
||||||
|
public static ItemStack generateSetPiece(Material item, ItemSet set, boolean hardened, int basetier) {
|
||||||
|
return Loot.GenerateSetPiece(item, set, hardened, basetier);
|
||||||
|
}
|
||||||
|
|
||||||
//Server COMMANDS.
|
//Server COMMANDS.
|
||||||
public static ServerType getServerType() {
|
public static ServerType getServerType() {
|
||||||
@ -315,6 +318,9 @@ public final class TwosideKeeperAPI {
|
|||||||
public static void setItemTier(ItemStack item,int tier) {
|
public static void setItemTier(ItemStack item,int tier) {
|
||||||
ItemSet.SetTier(item, tier);
|
ItemSet.SetTier(item, tier);
|
||||||
}
|
}
|
||||||
|
public static void setItemSet(ItemStack item, ItemSet set) {
|
||||||
|
ItemSet.SetItemSet(item, set);
|
||||||
|
}
|
||||||
public static boolean isUpgradeShard(ItemStack item) {
|
public static boolean isUpgradeShard(ItemStack item) {
|
||||||
return GenericFunctions.isUpgradeShard(item);
|
return GenericFunctions.isUpgradeShard(item);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user