Skip to content
This repository has been archived by the owner on Nov 5, 2019. It is now read-only.

Now working in 1.13 #366

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions plugin.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
main: ${project.groupId}.${project.name}
name: ${project.name}
api-version: 1.13
version: ${project.version}
website: ${project.url}
description: ${project.description}
Expand Down
8 changes: 7 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.massivecraft.massivesuper</groupId>
<artifactId>MassiveSuper</artifactId>
<version>2.14.1-SNAPSHOT</version>
<version>2.15.1-SNAPSHOT</version>
<relativePath>../MassiveSuper</relativePath>
</parent>

Expand All @@ -21,6 +21,12 @@

<!-- Dependencies -->
<dependencies>
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
<!-- MassiveCoreXlib -->
<dependency>
<groupId>com.massivecraft.massivecore</groupId>
Expand Down
208 changes: 161 additions & 47 deletions src/com/massivecraft/massivecore/command/type/TypeEnchantment.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,47 +17,164 @@ public class TypeEnchantment extends TypeAbstractChoice<Enchantment>
// DATA
// -------------------------------------------- //
// http://minecraft.gamepedia.com/Enchanting#Enchantments

// The first name is taken from the wiki. Those names are those people think of.
// The second name is the Bukkit enum name.
// Thereafter comes assorted extras
public static Enchantment[] getEnchantment = new Enchantment[]
{
Enchantment.PROTECTION_ENVIRONMENTAL,
Enchantment.PROTECTION_FIRE,
Enchantment.PROTECTION_FALL,
Enchantment.PROTECTION_EXPLOSIONS,
Enchantment.PROTECTION_PROJECTILE,
Enchantment.OXYGEN,
Enchantment.WATER_WORKER,
Enchantment.THORNS,
Enchantment.DEPTH_STRIDER,
Enchantment.FROST_WALKER,
Enchantment.BINDING_CURSE,
null,
null,
null,
null,
null,
Enchantment.DAMAGE_ALL,
Enchantment.DAMAGE_UNDEAD,
Enchantment.DAMAGE_ARTHROPODS,
Enchantment.KNOCKBACK,
Enchantment.FIRE_ASPECT,
Enchantment.LOOT_BONUS_MOBS,
Enchantment.SWEEPING_EDGE,
null,
null,
null,
null,
null,
null,
null,
null,
null,
Enchantment.DIG_SPEED,
Enchantment.SILK_TOUCH,
Enchantment.DURABILITY,
Enchantment.LOOT_BONUS_BLOCKS,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
Enchantment.ARROW_DAMAGE,
Enchantment.ARROW_KNOCKBACK,
Enchantment.ARROW_FIRE,
Enchantment.ARROW_INFINITE,
null,
null,
null,
null,
null,
null,
null,
null,
null,
Enchantment.LUCK,
Enchantment.LURE,
null,
null,
Enchantment.LOYALTY,
Enchantment.IMPALING,
Enchantment.RIPTIDE,
Enchantment.CHANNELING,
null,
Enchantment.MENDING,
Enchantment.VANISHING_CURSE
};

public static Map<String, Integer> KEY_TO_ID = new MassiveMap<String, Integer>(
Enchantment.PROTECTION_ENVIRONMENTAL.getKey().getKey(), 0,
Enchantment.PROTECTION_FIRE.getKey().getKey(), 1,
Enchantment.PROTECTION_FALL.getKey().getKey(), 2,
Enchantment.PROTECTION_EXPLOSIONS.getKey().getKey(), 3,
Enchantment.PROTECTION_PROJECTILE.getKey().getKey(), 4,
Enchantment.OXYGEN.getKey().getKey(), 5,
Enchantment.WATER_WORKER.getKey().getKey(), 6,
Enchantment.THORNS.getKey().getKey(), 7,
Enchantment.DEPTH_STRIDER.getKey().getKey(), 8,
Enchantment.FROST_WALKER.getKey().getKey(), 9,
Enchantment.BINDING_CURSE.getKey().getKey(), 10,
Enchantment.DAMAGE_ALL.getKey().getKey(), 16,
Enchantment.DAMAGE_UNDEAD.getKey().getKey(), 17,
Enchantment.DAMAGE_ARTHROPODS.getKey().getKey(), 18,
Enchantment.KNOCKBACK.getKey().getKey(), 19,
Enchantment.FIRE_ASPECT.getKey().getKey(), 20,
Enchantment.LOOT_BONUS_MOBS.getKey().getKey(), 21,
Enchantment.SWEEPING_EDGE.getKey().getKey(), 22,
Enchantment.DIG_SPEED.getKey().getKey(), 32,
Enchantment.SILK_TOUCH.getKey().getKey(), 33,
Enchantment.DURABILITY.getKey().getKey(), 34,
Enchantment.LOOT_BONUS_BLOCKS.getKey().getKey(), 35,
Enchantment.ARROW_DAMAGE.getKey().getKey(), 48,
Enchantment.ARROW_KNOCKBACK.getKey().getKey(), 49,
Enchantment.ARROW_FIRE.getKey().getKey(), 50,
Enchantment.ARROW_INFINITE.getKey().getKey(), 51,
Enchantment.LUCK.getKey().getKey(), 61,
Enchantment.LURE.getKey().getKey(), 62,
Enchantment.LOYALTY.getKey().getKey(), 65,
Enchantment.IMPALING.getKey().getKey(), 66,
Enchantment.RIPTIDE.getKey().getKey(), 67,
Enchantment.CHANNELING.getKey().getKey(), 68,
Enchantment.MENDING.getKey().getKey(), 70,
Enchantment.VANISHING_CURSE.getKey().getKey(), 71
);

public static Map<Integer, List<String>> ID_TO_RAWNAMES = new MassiveMap<Integer, List<String>>(
0, new MassiveList<>("Protection", "PROTECTION_ENVIRONMENTAL"),
1, new MassiveList<>("Fire Protection", "PROTECTION_FIRE"),
2, new MassiveList<>("Feather Falling", "PROTECTION_FALL", "FallProtection"),
3, new MassiveList<>("Blast Protection", "PROTECTION_EXPLOSIONS", "ExplosionProtection"),
4, new MassiveList<>("Projectile Protection", "PROTECTION_PROJECTILE", "ProjectileProtection"),
5, new MassiveList<>("Respiration", "OXYGEN", "Breathing"),
6, new MassiveList<>("Aqua Affinity", "WATER_WORKER"),
7, new MassiveList<>("Thorns", "THORNS"),
8, new MassiveList<>("Depth Strider", "DEPTH_STRIDER"),
9, new MassiveList<>("Frost Walker", "FROST_WALKER"),
10, new MassiveList<>("Curse of Binding", "BINDING_CURSE"),
16, new MassiveList<>("Sharpness", "DAMAGE_ALL"),
17, new MassiveList<>("Smite", "DAMAGE_UNDEAD"),
18, new MassiveList<>("Bane of Arthropods", "DAMAGE_ARTHROPODS", "BaneArthropods", "Arthropods"),
19, new MassiveList<>("Knockback", "KNOCKBACK"),
20, new MassiveList<>("Fire Aspect", "FIRE_ASPECT"),
21, new MassiveList<>("Looting", "LOOT_BONUS_MOBS"),
22, new MassiveList<>("Sweeping Edge", "SWEEPING_EDGE"),
32, new MassiveList<>("Efficiency", "DIG_SPEED"),
33, new MassiveList<>("Silk Touch", "SILK_TOUCH"),
34, new MassiveList<>("Unbreaking", "DURABILITY"),
35, new MassiveList<>("Fortune", "LOOT_BONUS_BLOCKS"),
48, new MassiveList<>("Power", "ARROW_DAMAGE"),
49, new MassiveList<>("Punch", "ARROW_KNOCKBACK"),
50, new MassiveList<>("Flame", "ARROW_FIRE"),
51, new MassiveList<>("Infinity", "ARROW_INFINITE", "ArrowInfinity"),
61, new MassiveList<>("Luck of the Sea", "LUCK", "LuckOfSea", "LuckTheSea", "LuckSea"),
62, new MassiveList<>("Lure", "LURE"),
70, new MassiveList<>("Mending", "MENDING"),
71, new MassiveList<>("Curse of Vanishing", "VANISHING_CURSE")
0, new MassiveList<>("Protection", "PROTECTION_ENVIRONMENTAL"),
1, new MassiveList<>("Fire Protection", "PROTECTION_FIRE"),
2, new MassiveList<>("Feather Falling", "PROTECTION_FALL", "FallProtection"),
3, new MassiveList<>("Blast Protection", "PROTECTION_EXPLOSIONS", "ExplosionProtection"),
4, new MassiveList<>("Projectile Protection", "PROTECTION_PROJECTILE", "ProjectileProtection"),
5, new MassiveList<>("Respiration", "OXYGEN", "Breathing"),
6, new MassiveList<>("Aqua Affinity", "WATER_WORKER"),
7, new MassiveList<>("Thorns", "THORNS"),
8, new MassiveList<>("Depth Strider", "DEPTH_STRIDER"),
9, new MassiveList<>("Frost Walker", "FROST_WALKER"),
10, new MassiveList<>("Curse of Binding", "BINDING_CURSE"),
16, new MassiveList<>("Sharpness", "DAMAGE_ALL"),
17, new MassiveList<>("Smite", "DAMAGE_UNDEAD"),
18, new MassiveList<>("Bane of Arthropods", "DAMAGE_ARTHROPODS", "BaneArthropods", "Arthropods"),
19, new MassiveList<>("Knockback", "KNOCKBACK"),
20, new MassiveList<>("Fire Aspect", "FIRE_ASPECT"),
21, new MassiveList<>("Looting", "LOOT_BONUS_MOBS"),
22, new MassiveList<>("Sweeping Edge", "SWEEPING_EDGE"),
32, new MassiveList<>("Efficiency", "DIG_SPEED"),
33, new MassiveList<>("Silk Touch", "SILK_TOUCH"),
34, new MassiveList<>("Unbreaking", "DURABILITY"),
35, new MassiveList<>("Fortune", "LOOT_BONUS_BLOCKS"),
48, new MassiveList<>("Power", "ARROW_DAMAGE"),
49, new MassiveList<>("Punch", "ARROW_KNOCKBACK"),
50, new MassiveList<>("Flame", "ARROW_FIRE"),
51, new MassiveList<>("Infinity", "ARROW_INFINITE", "ArrowInfinity"),
61, new MassiveList<>("Luck of the Sea", "LUCK", "LuckOfSea", "LuckTheSea", "LuckSea"),
62, new MassiveList<>("Lure", "LURE"),
65, new MassiveList<>("Loyalty", "LOYALTY"),
66, new MassiveList<>("Impaling", "IMPALING"),
67, new MassiveList<>("Riptide", "RIPTIDE"),
68, new MassiveList<>("Channeling", "CHANNELING"),
70, new MassiveList<>("Mending", "MENDING"),
71, new MassiveList<>("Curse of Vanishing", "VANISHING_CURSE")
);

// -------------------------------------------- //
// INSTANCE & CONSTRUCT
// -------------------------------------------- //

private static TypeEnchantment i = new TypeEnchantment();
public static TypeEnchantment get() { return i; }
public TypeEnchantment()
Expand All @@ -66,47 +183,44 @@ public TypeEnchantment()
this.setVisualColor(ChatColor.AQUA);
this.setAll(Enchantment.values());
}

// -------------------------------------------- //
// OVERRIDE
// -------------------------------------------- //

@SuppressWarnings("deprecation")

@Override
public String getNameInner(Enchantment enchantment)
{
String rawname = enchantment.getName();
List<String> rawnames = ID_TO_RAWNAMES.get(enchantment.getId());
String rawname = enchantment.getKey().getKey();
List<String> rawnames = ID_TO_RAWNAMES.get(KEY_TO_ID.get(enchantment.getKey().getKey()));
if (rawnames != null) rawname = rawnames.get(0);
return Txt.getNicedEnumString(rawname);
}

@SuppressWarnings("deprecation")

@Override
public Set<String> getNamesInner(Enchantment enchantment)
{
// Create
Set<String> ret = new MassiveSet<>();

// Fill
List<String> raws = new MassiveList<>();
List<String> rawnames = ID_TO_RAWNAMES.get(enchantment.getId());
List<String> rawnames = ID_TO_RAWNAMES.get(KEY_TO_ID.get(enchantment.getKey().getKey()));
if (rawnames != null) raws.addAll(rawnames);
raws.add(enchantment.getName());
raws.add(enchantment.getKey().getKey());
for (String raw : raws)
{
ret.add(Txt.getNicedEnumString(raw));
}

// Return
return ret;
}

@SuppressWarnings("deprecation")

@Override
public String getIdInner(Enchantment enchantment)
{
return String.valueOf(enchantment.getId());
return String.valueOf(KEY_TO_ID.get(enchantment.getKey().getKey()));
}

}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.massivecraft.massivecore.command.type;

import com.massivecraft.massivecore.command.type.enumeration.TypeMaterial;
import com.massivecraft.massivecore.command.type.primitive.TypeInteger;
import com.massivecraft.massivecore.command.type.primitive.TypeString;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;

@SuppressWarnings("deprecation")
public class TypeMaterialId extends TypeTransformer<Material, Integer>
public class TypeMaterialId extends TypeTransformer<Material, String>
{
// -------------------------------------------- //
// INSTANCE & CONSTRUCT
Expand All @@ -17,7 +17,7 @@ public class TypeMaterialId extends TypeTransformer<Material, Integer>

public TypeMaterialId()
{
super(TypeMaterial.get(), TypeInteger.get());
super(TypeMaterial.get(), TypeString.get());
}

// -------------------------------------------- //
Expand All @@ -26,14 +26,14 @@ public TypeMaterialId()


@Override
public Integer innerToOuter(Material inner, CommandSender sender)
public String innerToOuter(Material inner, CommandSender sender)
{
if (inner == null) return null;
return inner.getId();
return inner.toString();
}

@Override
public Material outerToInner(Integer outer)
public Material outerToInner(String outer)
{
if (outer == null) return null;
return Material.getMaterial(outer);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.massivecraft.massivecore.item;

import org.bukkit.enchantments.Enchantment;
import com.massivecraft.massivecore.command.type.TypeEnchantment;

public class ConverterFromEnchant extends Converter<Enchantment, Integer>
{
Expand All @@ -20,7 +21,7 @@ public class ConverterFromEnchant extends Converter<Enchantment, Integer>
public Integer convert(Enchantment x)
{
if (x == null) return null;
return x.getId();
return TypeEnchantment.KEY_TO_ID.get(x.getKey().getKey());
}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.massivecraft.massivecore.item;

import org.bukkit.enchantments.Enchantment;
import com.massivecraft.massivecore.command.type.TypeEnchantment;

public class ConverterToEnchant extends Converter<Integer, Enchantment>
{
Expand All @@ -20,7 +21,7 @@ public class ConverterToEnchant extends Converter<Integer, Enchantment>
public Enchantment convert(Integer x)
{
if (x == null) return null;
return Enchantment.getById(x);
return TypeEnchantment.getEnchantment[x];
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class WriterItemStackMetaBannerBase extends WriterAbstractItemStackMetaFi
public WriterItemStackMetaBannerBase()
{
super(BannerMeta.class);
this.setMaterial(Material.BANNER);
this.setMaterial(Material.WHITE_BANNER);
this.setConverterTo(ConverterToDyeColor.get());
this.setConverterFrom(ConverterFromDyeColor.get());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class WriterItemStackMetaBannerPatterns extends WriterAbstractItemStackMe
public WriterItemStackMetaBannerPatterns()
{
super(BannerMeta.class);
this.setMaterial(Material.BANNER);
this.setMaterial(Material.WHITE_BANNER);
this.setConverterTo(ConverterToBannerPatterns.get());
this.setConverterFrom(ConverterFromBannerPatterns.get());
this.addDependencyClasses(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class WriterItemStackMetaFireworkEffect extends WriterAbstractItemStackMe
public WriterItemStackMetaFireworkEffect()
{
super(FireworkEffectMeta.class);
this.setMaterial(Material.FIREWORK_CHARGE);
this.setMaterial(Material.FIREWORK_STAR);
this.setConverterTo(ConverterToFireworkEffect.get());
this.setConverterFrom(ConverterFromFireworkEffect.get());
this.addDependencyClasses(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class WriterItemStackMetaFireworkEffects extends WriterAbstractItemStackM
public WriterItemStackMetaFireworkEffects()
{
super(FireworkMeta.class);
this.setMaterial(Material.FIREWORK);
this.setMaterial(Material.FIREWORK_ROCKET);
this.setConverterTo(ConverterToFireworkEffects.get());
this.setConverterFrom(ConverterFromFireworkEffects.get());
this.addDependencyClasses(
Expand Down
Loading