Added custom model support and dropped support for versions bellow 1.14.4
This commit is contained in:
parent
ab4bb73cc1
commit
6122d28bb9
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
|
||||||
|
<output url="file://$MODULE_DIR$/target/classes" />
|
||||||
|
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.14.4-R0.1-SNAPSHOT" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:21.0" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.13-SNAPSHOT" level="project" />
|
||||||
|
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
|
||||||
|
</component>
|
||||||
|
</module>
|
8
pom.xml
8
pom.xml
|
@ -5,19 +5,19 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
<maven.compiler.target>1.8</maven.compiler.target>
|
<maven.compiler.target>11</maven.compiler.target>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<groupId>nl.iobyte</groupId>
|
<groupId>nl.iobyte</groupId>
|
||||||
<artifactId>menuapi</artifactId>
|
<artifactId>menuapi</artifactId>
|
||||||
<version>1.0</version>
|
<version>1.1</version>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.12.2-R0.1-SNAPSHOT</version>
|
<version>1.14.4-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
@ -1,16 +1,10 @@
|
||||||
package nl.iobyte.menuapi.item;
|
package nl.iobyte.menuapi.item;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.inventory.ItemFlag;
|
import org.bukkit.inventory.ItemFlag;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
|
||||||
|
|
||||||
public class ItemBuilder {
|
public class ItemBuilder {
|
||||||
|
|
||||||
|
@ -28,8 +22,9 @@ public class ItemBuilder {
|
||||||
item = new ItemStack(material, amount);
|
item = new ItemStack(material, amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemBuilder(Material material, int amount, short data) {
|
public ItemBuilder(Material material, int amount, int data) {
|
||||||
item = new ItemStack(material, amount, data);
|
this(material, amount);
|
||||||
|
setCustomModelData(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getItem() {
|
public ItemStack getItem() {
|
||||||
|
@ -44,10 +39,19 @@ public class ItemBuilder {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ItemBuilder setCustomModelData(int i) {
|
||||||
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
|
meta.setCustomModelData(i);
|
||||||
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public ItemBuilder setUnbreakable(boolean b) {
|
public ItemBuilder setUnbreakable(boolean b) {
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
meta.setUnbreakable(b);
|
meta.setUnbreakable(b);
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,9 +59,10 @@ public class ItemBuilder {
|
||||||
if(name == null)
|
if(name == null)
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
meta.setDisplayName(Color.parse(name));
|
meta.setDisplayName(Color.parse(name));
|
||||||
this.item.setItemMeta(meta);
|
this.item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,12 +70,13 @@ public class ItemBuilder {
|
||||||
if(lore == null)
|
if(lore == null)
|
||||||
return this;
|
return this;
|
||||||
|
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
for(String string : lore)
|
for (String string : lore)
|
||||||
lore.set(lore.indexOf(string), Color.parse(string));
|
lore.set(lore.indexOf(string), Color.parse(string));
|
||||||
|
|
||||||
meta.setLore(lore);
|
meta.setLore(lore);
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,52 +88,59 @@ public class ItemBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemBuilder addLore(String lore) {
|
public ItemBuilder addLore(String lore) {
|
||||||
List<String> list = item.getItemMeta().getLore();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
list.add(lore);
|
List<String> list = meta.hasLore() ? meta.getLore() : new ArrayList<>();
|
||||||
setLore(list);
|
list.add(lore);
|
||||||
|
setLore(list);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemBuilder setEnchantment(HashMap<Enchantment, Integer> enchantments) {
|
public ItemBuilder setEnchantment(HashMap<Enchantment, Integer> enchantments) {
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
if(!meta.getEnchants().isEmpty())
|
if (!meta.getEnchants().isEmpty())
|
||||||
meta.getEnchants().clear();
|
meta.getEnchants().clear();
|
||||||
|
|
||||||
for(Map.Entry<Enchantment, Integer> entry : enchantments.entrySet())
|
for (Map.Entry<Enchantment, Integer> entry : enchantments.entrySet())
|
||||||
meta.addEnchant(entry.getKey(), entry.getValue(), true);
|
meta.addEnchant(entry.getKey(), entry.getValue(), true);
|
||||||
|
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemBuilder setEnchantment(Enchantment enchantment, int i) {
|
public ItemBuilder setEnchantment(Enchantment enchantment, int i) {
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
if (!meta.getEnchants().isEmpty())
|
if (!meta.getEnchants().isEmpty())
|
||||||
meta.getEnchants().clear();
|
meta.getEnchants().clear();
|
||||||
|
|
||||||
meta.addEnchant(enchantment, i, true);
|
meta.addEnchant(enchantment, i, true);
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemBuilder addEnchantment(Enchantment enchantment, int i) {
|
public ItemBuilder addEnchantment(Enchantment enchantment, int i) {
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
meta.addEnchant(enchantment, i, true);
|
meta.addEnchant(enchantment, i, true);
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemBuilder addFlag(ItemFlag flag) {
|
public ItemBuilder addFlag(ItemFlag flag) {
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
meta.addItemFlags(flag);
|
meta.addItemFlags(flag);
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemBuilder addFlags(ItemFlag... flags) {
|
public ItemBuilder addFlags(ItemFlag... flags) {
|
||||||
ItemMeta meta = item.getItemMeta();
|
Optional.ofNullable(item.getItemMeta()).ifPresent(meta -> {
|
||||||
meta.addItemFlags(flags);
|
meta.addItemFlags(flags);
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue