Update to 1.9

This commit is contained in:
Daniel Saukel
2016-03-21 20:35:12 +01:00
parent 08a025fff6
commit 7a514d5378
8 changed files with 886 additions and 844 deletions
+23 -55
View File
@@ -4,7 +4,7 @@
<groupId>com.dre</groupId> <groupId>com.dre</groupId>
<artifactId>brewery</artifactId> <artifactId>brewery</artifactId>
<version>1.3.2</version> <version>1.4-SNAPSHOT</version>
<name>Brewery</name> <name>Brewery</name>
<properties> <properties>
@@ -33,10 +33,10 @@
<plugins> <plugins>
<plugin> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version> <version>2.5.1</version>
<configuration> <configuration>
<source>1.6</source> <source>1.7</source>
<target>1.6</target> <target>1.7</target>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
</configuration> </configuration>
</plugin> </plugin>
@@ -47,35 +47,19 @@
<repository> <repository>
<id>spigot-repo</id> <id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url> <url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository> </repository>
<repository> <repository>
<id>vault-repo</id> <id>vault-repo</id>
<url>http://nexus.theyeticave.net/content/repositories/pub_releases</url> <url>http://nexus.theyeticave.net/content/repositories/pub_releases</url>
</repository> </repository>
<repository>
<id>dre2n-repo</id>
<url>http://feuerstern.bplaced.net/repo/</url>
</repository>
<repository> <repository>
<id>sk89q-repo</id> <id>sk89q-repo</id>
<url>http://maven.sk89q.com/artifactory/repo/</url> <url>http://maven.sk89q.com/artifactory/repo/</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository> </repository>
<repository>
<id>dre-repo</id>
<url>http://server.die-reiche-erethons.com/maven2</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
<repository> <repository>
<id>addstar-repo</id> <id>addstar-repo</id>
<url>http://maven.addstar.com.au/artifactory/ext-release-local/</url> <url>http://maven.addstar.com.au/artifactory/ext-release-local/</url>
@@ -84,60 +68,44 @@
<updatePolicy>always</updatePolicy> <updatePolicy>always</updatePolicy>
</snapshots> </snapshots>
</repository> </repository>
<repository>
<id>md_5-releases</id>
<url>http://repo.md-5.net/content/repositories/releases/</url>
</repository>
</repositories> </repositories>
<dependencies> <dependencies>
<!-- Provided by third-party -->
<dependency> <dependency>
<groupId>org.spigotmc</groupId> <groupId>org.bukkit</groupId>
<artifactId>spigot-api</artifactId> <artifactId>bukkit</artifactId>
<version>1.8-R0.1-SNAPSHOT</version> <version>1.9-R0.1-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.milkbowl.vault</groupId> <groupId>net.milkbowl.vault</groupId>
<artifactId>VaultAPI</artifactId> <artifactId>VaultAPI</artifactId>
<version>1.5</version> <version>1.5</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.sk89q</groupId> <groupId>com.sk89q</groupId>
<artifactId>worldguard</artifactId> <artifactId>worldguard</artifactId>
<version>6.0.0-SNAPSHOT</version> <version>6.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.dre</groupId>
<artifactId>managerxl</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
<type>jar</type>
</dependency>
<dependency> <dependency>
<groupId>com.griefcraft</groupId> <groupId>com.griefcraft</groupId>
<artifactId>lwc</artifactId> <artifactId>entitylwc</artifactId>
<version>4.4.0</version> <version>1.7.2</version>
<scope>compile</scope>
<type>jar</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>me.ryanhamshire</groupId> <groupId>me.ryanhamshire</groupId>
<artifactId>griefprevention</artifactId> <artifactId>GriefPrevention</artifactId>
<version>7.8</version> <version>13.9.1</version>
<scope>compile</scope> <scope>compile</scope>
<type>jar</type>
</dependency> </dependency>
<dependency> <dependency>
<groupId>de.diddiz.LogBlock</groupId> <groupId>de.diddiz</groupId>
<artifactId>LogBlock</artifactId> <artifactId>logblock</artifactId>
<version>1.80</version> <version>1.94</version>
<scope>compile</scope>
<type>jar</type>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>
+1 -1
View File
@@ -1,5 +1,5 @@
name: Brewery name: Brewery
version: 1.3.2 version: 1.4-SNAPSHOT
main: com.dre.brewery.P main: com.dre.brewery.P
authors: [Milan Albrecht, Frank Baumann] authors: [Milan Albrecht, Frank Baumann]
softdepend: [LWC, LogBlock, WorldGuard, GriefPrevention, Vault] softdepend: [LWC, LogBlock, WorldGuard, GriefPrevention, Vault]
+19 -4
View File
@@ -1,16 +1,15 @@
package com.dre.brewery; package com.dre.brewery;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.HashMap;
import java.util.Set; import java.util.Set;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.Material;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionEffectType;
public class BIngredients { public class BIngredients {
public static Set<Material> possibleIngredients = new HashSet<Material>(); public static Set<Material> possibleIngredients = new HashSet<Material>();
@@ -84,7 +83,11 @@ public class BIngredients {
Brew.addOrReplaceEffects(potionMeta, brew.getEffects(), brew.getQuality()); Brew.addOrReplaceEffects(potionMeta, brew.getEffects(), brew.getQuality());
cookedName = cookRecipe.getName(quality); cookedName = cookRecipe.getName(quality);
if (P.use1_9) {
potionMeta.setMainEffect(Brew.PotionColor.valueOf(cookRecipe.getColor()).getEffect());
} else {
potion.setDurability(Brew.PotionColor.valueOf(cookRecipe.getColor()).getColorId(false)); potion.setDurability(Brew.PotionColor.valueOf(cookRecipe.getColor()).getColorId(false));
}
} else { } else {
// new base potion // new base potion
@@ -92,24 +95,36 @@ public class BIngredients {
if (state <= 1) { if (state <= 1) {
cookedName = P.p.languageReader.get("Brew_ThickBrew"); cookedName = P.p.languageReader.get("Brew_ThickBrew");
if (P.use1_9) {
potionMeta.setMainEffect(Brew.PotionColor.BLUE.getEffect());
} else {
potion.setDurability(Brew.PotionColor.BLUE.getColorId(false)); potion.setDurability(Brew.PotionColor.BLUE.getColorId(false));
}
} else { } else {
for (Material ingredient : materials.keySet()) { for (Material ingredient : materials.keySet()) {
if (cookedNames.containsKey(ingredient)) { if (cookedNames.containsKey(ingredient)) {
// if more than half of the ingredients is of one kind // if more than half of the ingredients is of one kind
if (materials.get(ingredient) > (getIngredientsCount() / 2)) { if (materials.get(ingredient) > (getIngredientsCount() / 2)) {
cookedName = cookedNames.get(ingredient); cookedName = cookedNames.get(ingredient);
if (P.use1_9) {
potionMeta.setMainEffect(Brew.PotionColor.CYAN.getEffect());
} else {
potion.setDurability(Brew.PotionColor.CYAN.getColorId(true)); potion.setDurability(Brew.PotionColor.CYAN.getColorId(true));
} }
} }
} }
} }
} }
}
if (cookedName == null) { if (cookedName == null) {
// if no name could be found // if no name could be found
cookedName = P.p.languageReader.get("Brew_Undefined"); cookedName = P.p.languageReader.get("Brew_Undefined");
if (P.use1_9) {
potionMeta.setMainEffect(Brew.PotionColor.CYAN.getEffect());
} else {
potion.setDurability(Brew.PotionColor.CYAN.getColorId(true)); potion.setDurability(Brew.PotionColor.CYAN.getColorId(true));
} }
}
potionMeta.setDisplayName(P.p.color("&f" + cookedName)); potionMeta.setDisplayName(P.p.color("&f" + cookedName));
// This effect stores the UID in its Duration // This effect stores the UID in its Duration
+7 -12
View File
@@ -1,22 +1,21 @@
package com.dre.brewery; package com.dre.brewery;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.Item; import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.Material;
import org.bukkit.util.Vector;
import org.bukkit.Location;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.util.Vector;
public class BPlayer { public class BPlayer {
private static Map<String, BPlayer> players = new HashMap<String, BPlayer>();// Players name/uuid and BPlayer private static Map<String, BPlayer> players = new HashMap<String, BPlayer>();// Players name/uuid and BPlayer
@@ -339,10 +338,6 @@ public class BPlayer {
Location home = null; Location home = null;
if (homeType.equalsIgnoreCase("bed")) { if (homeType.equalsIgnoreCase("bed")) {
home = player.getBedSpawnLocation(); home = player.getBedSpawnLocation();
} else if (homeType.equalsIgnoreCase("ManagerXL")) {
if (com.dre.managerxl.MPlayer.get(player.getName()) != null) {
home = com.dre.managerxl.MPlayer.get(player.getName()).getHome();
}
} else if (homeType.startsWith("cmd: ")) { } else if (homeType.startsWith("cmd: ")) {
player.performCommand(homeType.substring(5)); player.performCommand(homeType.substring(5));
} else if (homeType.startsWith("cmd:")) { } else if (homeType.startsWith("cmd:")) {
+5 -2
View File
@@ -2,9 +2,8 @@ package com.dre.brewery;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
@@ -205,7 +204,11 @@ public class BRecipe {
Brew brew = new Brew(uid, bIngredients, quality, distillruns, getAge(), wood, getName(5), false, false, true); Brew brew = new Brew(uid, bIngredients, quality, distillruns, getAge(), wood, getName(5), false, false, true);
if (P.use1_9) {
potionMeta.setMainEffect(Brew.PotionColor.valueOf(getColor()).getEffect());
} else {
potion.setDurability(Brew.PotionColor.valueOf(getColor()).getColorId(false)); potion.setDurability(Brew.PotionColor.valueOf(getColor()).getColorId(false));
}
potionMeta.setDisplayName(P.p.color("&f" + getName(quality))); potionMeta.setDisplayName(P.p.color("&f" + getName(quality)));
// This effect stores the UID in its Duration // This effect stores the UID in its Duration
potionMeta.addCustomEffect((PotionEffectType.REGENERATION).createEffect((uid * 4), 0), true); potionMeta.addCustomEffect((PotionEffectType.REGENERATION).createEffect((uid * 4), 0), true);
+50 -28
View File
@@ -1,22 +1,20 @@
package com.dre.brewery; package com.dre.brewery;
import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.inventory.BrewerInventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.inventory.BrewerInventory;
public class Brew { public class Brew {
// represents the liquid in the brewed Potions // represents the liquid in the brewed Potions
public static Map<Integer, Brew> potions = new HashMap<Integer, Brew>(); public static Map<Integer, Brew> potions = new HashMap<Integer, Brew>();
public static Boolean colorInBarrels; // color the Lore while in Barrels public static Boolean colorInBarrels; // color the Lore while in Barrels
public static Boolean colorInBrewer; // color the Lore while in Brewer public static Boolean colorInBrewer; // color the Lore while in Brewer
@@ -87,7 +85,6 @@ public class Brew {
return null; return null;
} }
// returns UID of custom Potion item // returns UID of custom Potion item
public static int getUID(ItemStack item) { public static int getUID(ItemStack item) {
return getUID((PotionMeta) item.getItemMeta()); return getUID((PotionMeta) item.getItemMeta());
@@ -294,7 +291,15 @@ public class Brew {
this.stat = stat; this.stat = stat;
if (currentRecipe != null && canDistill()) { if (currentRecipe != null && canDistill()) {
if (stat) { if (stat) {
if (P.use1_9) {
PotionMeta potionMeta = (PotionMeta) potion.getItemMeta();
potionMeta.setMainEffect(PotionColor.valueOf(currentRecipe.getColor()).getEffect());
} else {
potion.setDurability(PotionColor.valueOf(currentRecipe.getColor()).getColorId(false)); potion.setDurability(PotionColor.valueOf(currentRecipe.getColor()).getColorId(false));
}
} else if (P.use1_9) {
PotionMeta potionMeta = (PotionMeta) potion.getItemMeta();
potionMeta.setMainEffect(PotionColor.valueOf(currentRecipe.getColor()).getEffect());
} else { } else {
potion.setDurability(PotionColor.valueOf(currentRecipe.getColor()).getColorId(true)); potion.setDurability(PotionColor.valueOf(currentRecipe.getColor()).getColorId(true));
} }
@@ -302,7 +307,6 @@ public class Brew {
} }
// Distilling section --------------- // Distilling section ---------------
// distill all custom potions in the brewer // distill all custom potions in the brewer
public static void distillAll(BrewerInventory inv, Boolean[] contents) { public static void distillAll(BrewerInventory inv, Boolean[] contents) {
int slot = 0; int slot = 0;
@@ -332,13 +336,22 @@ public class Brew {
addOrReplaceEffects(potionMeta, getEffects(), quality); addOrReplaceEffects(potionMeta, getEffects(), quality);
potionMeta.setDisplayName(P.p.color("&f" + recipe.getName(quality))); potionMeta.setDisplayName(P.p.color("&f" + recipe.getName(quality)));
if (P.use1_9) {
potionMeta.setMainEffect(PotionColor.valueOf(recipe.getColor()).getEffect());
} else {
slotItem.setDurability(PotionColor.valueOf(recipe.getColor()).getColorId(canDistill())); slotItem.setDurability(PotionColor.valueOf(recipe.getColor()).getColorId(canDistill()));
}
} else { } else {
quality = 0; quality = 0;
removeEffects(potionMeta); removeEffects(potionMeta);
potionMeta.setDisplayName(P.p.color("&f" + P.p.languageReader.get("Brew_DistillUndefined"))); potionMeta.setDisplayName(P.p.color("&f" + P.p.languageReader.get("Brew_DistillUndefined")));
if (P.use1_9) {
potionMeta.setMainEffect(PotionColor.GREY.getEffect());
} else {
slotItem.setDurability(PotionColor.GREY.getColorId(canDistill())); slotItem.setDurability(PotionColor.GREY.getColorId(canDistill()));
} }
}
// Distill Lore // Distill Lore
if (currentRecipe != null) { if (currentRecipe != null) {
@@ -356,7 +369,6 @@ public class Brew {
} }
// Ageing Section ------------------ // Ageing Section ------------------
public void age(ItemStack item, float time, byte woodType) { public void age(ItemStack item, float time, byte woodType) {
if (stat) { if (stat) {
return; return;
@@ -369,11 +381,9 @@ public class Brew {
if (ageTime > 0.5) { if (ageTime > 0.5) {
if (wood == 0) { if (wood == 0) {
wood = woodType; wood = woodType;
} else { } else if (wood != woodType) {
if (wood != woodType) {
woodShift(time, woodType); woodShift(time, woodType);
} }
}
BRecipe recipe = ingredients.getAgeRecipe(wood, ageTime, distillRuns > 0); BRecipe recipe = ingredients.getAgeRecipe(wood, ageTime, distillRuns > 0);
if (recipe != null) { if (recipe != null) {
currentRecipe = recipe; currentRecipe = recipe;
@@ -381,14 +391,22 @@ public class Brew {
addOrReplaceEffects(potionMeta, getEffects(), quality); addOrReplaceEffects(potionMeta, getEffects(), quality);
potionMeta.setDisplayName(P.p.color("&f" + recipe.getName(quality))); potionMeta.setDisplayName(P.p.color("&f" + recipe.getName(quality)));
if (P.use1_9) {
potionMeta.setMainEffect(PotionColor.valueOf(recipe.getColor()).getEffect());
} else {
item.setDurability(PotionColor.valueOf(recipe.getColor()).getColorId(canDistill())); item.setDurability(PotionColor.valueOf(recipe.getColor()).getColorId(canDistill()));
}
} else { } else {
quality = 0; quality = 0;
removeEffects(potionMeta); removeEffects(potionMeta);
potionMeta.setDisplayName(P.p.color("&f" + P.p.languageReader.get("Brew_BadPotion"))); potionMeta.setDisplayName(P.p.color("&f" + P.p.languageReader.get("Brew_BadPotion")));
if (P.use1_9) {
potionMeta.setMainEffect(PotionColor.GREY.getEffect());
} else {
item.setDurability(PotionColor.GREY.getColorId(canDistill())); item.setDurability(PotionColor.GREY.getColorId(canDistill()));
} }
} }
}
// Lore // Lore
if (currentRecipe != null) { if (currentRecipe != null) {
@@ -434,7 +452,6 @@ public class Brew {
} }
// Lore ----------- // Lore -----------
// Converts to/from qualitycolored Lore // Converts to/from qualitycolored Lore
public void convertLore(PotionMeta meta, Boolean toQuality) { public void convertLore(PotionMeta meta, Boolean toQuality) {
if (currentRecipe == null) { if (currentRecipe == null) {
@@ -521,8 +538,7 @@ public class Brew {
if (currentRecipe.getWood() > 0) { if (currentRecipe.getWood() > 0) {
int quality = ingredients.getWoodQuality(currentRecipe, wood); int quality = ingredients.getWoodQuality(currentRecipe, wood);
addOrReplaceLore(meta, getQualityColor(quality), P.p.languageReader.get("Brew_Woodtype")); addOrReplaceLore(meta, getQualityColor(quality), P.p.languageReader.get("Brew_Woodtype"));
} else { } else if (meta.hasLore()) {
if (meta.hasLore()) {
List<String> existingLore = meta.getLore(); List<String> existingLore = meta.getLore();
int index = indexOfSubstring(existingLore, P.p.languageReader.get("Brew_Woodtype")); int index = indexOfSubstring(existingLore, P.p.languageReader.get("Brew_Woodtype"));
if (index > -1) { if (index > -1) {
@@ -531,7 +547,6 @@ public class Brew {
} }
} }
} }
}
// Adds or replaces a line of Lore. Searches for Substring lore and replaces it // Adds or replaces a line of Lore. Searches for Substring lore and replaces it
public static void addOrReplaceLore(PotionMeta meta, String prefix, String lore) { public static void addOrReplaceLore(PotionMeta meta, String prefix, String lore) {
@@ -645,23 +660,25 @@ public class Brew {
} }
public static enum PotionColor { public static enum PotionColor {
PINK(1), PINK(1, PotionEffectType.REGENERATION),
CYAN(2), CYAN(2, PotionEffectType.SPEED),
ORANGE(3), ORANGE(3, PotionEffectType.FIRE_RESISTANCE),
GREEN(4), GREEN(4, PotionEffectType.POISON),
BRIGHT_RED(5), BRIGHT_RED(5, PotionEffectType.HEAL),
BLUE(6), BLUE(6, PotionEffectType.NIGHT_VISION),
BLACK(8), BLACK(8, PotionEffectType.WEAKNESS),
RED(9), RED(9, PotionEffectType.INCREASE_DAMAGE),
GREY(10), GREY(10, PotionEffectType.SLOW),
WATER(11), WATER(11, PotionEffectType.WATER_BREATHING),
DARK_RED(12), DARK_RED(12, PotionEffectType.HARM),
BRIGHT_GREY(14); BRIGHT_GREY(14, PotionEffectType.INVISIBILITY);
private final int colorId; private final int colorId;
private final PotionEffectType effect;
private PotionColor(int colorId) { private PotionColor(int colorId, PotionEffectType effect) {
this.colorId = colorId; this.colorId = colorId;
this.effect = effect;
} }
// gets the Damage Value, that sets a color on the potion // gets the Damage Value, that sets a color on the potion
@@ -672,6 +689,11 @@ public class Brew {
} }
return (short) (colorId + 32); return (short) (colorId + 32);
} }
public PotionEffectType getEffect() {
return effect;
}
} }
} }
+40 -32
View File
@@ -1,46 +1,44 @@
package com.dre.brewery; package com.dre.brewery;
import java.io.FileOutputStream; import com.dre.brewery.filedata.*;
import java.io.InputStream; import com.dre.brewery.integration.LogBlockBarrel;
import java.io.OutputStream;
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.ListIterator;
import java.util.HashMap;
import java.io.IOException;
import java.io.File;
import java.util.UUID;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.configuration.ConfigurationSection;
import com.dre.brewery.integration.WGBarrel; import com.dre.brewery.integration.WGBarrel;
import com.dre.brewery.integration.WGBarrelNew; import com.dre.brewery.integration.WGBarrelNew;
import com.dre.brewery.integration.WGBarrelOld; import com.dre.brewery.integration.WGBarrelOld;
import org.apache.commons.lang.math.NumberUtils;
import org.bukkit.event.HandlerList;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.Location;
import org.bukkit.command.CommandSender;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Block;
import com.dre.brewery.listeners.*; import com.dre.brewery.listeners.*;
import com.dre.brewery.filedata.*; import java.io.File;
import com.dre.brewery.integration.LogBlockBarrel; import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.UUID;
import org.apache.commons.lang.math.NumberUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class P extends JavaPlugin { public class P extends JavaPlugin {
public static P p; public static P p;
public static String configVersion = "1.3.1"; public static String configVersion = "1.3.1";
public static boolean debug; public static boolean debug;
public static boolean useUUID; public static boolean useUUID;
public static boolean use1_9;
public static boolean updateCheck; public static boolean updateCheck;
// Third Party Enabled // Third Party Enabled
@@ -57,6 +55,7 @@ public class P extends JavaPlugin {
public EntityListener entityListener; public EntityListener entityListener;
public InventoryListener inventoryListener; public InventoryListener inventoryListener;
public WorldListener worldListener; public WorldListener worldListener;
public Compat1_9 compat1_9;
// Language // Language
public String language; public String language;
@@ -68,7 +67,12 @@ public class P extends JavaPlugin {
// Version check // Version check
String v = Bukkit.getBukkitVersion(); String v = Bukkit.getBukkitVersion();
useUUID = !v.matches(".*1\\.[1-6].*") && !v.matches(".*1\\.7\\.[0-5].*"); useUUID = !v.matches(".*1\\.[0-6].*") && !v.matches(".*1\\.7\\.[0-5].*");
use1_9 = !v.matches(".*1\\.[0-8].*");
if (use1_9) {
log("&cExperimental support for Bukkit 1.9 enabled.");
log("&cPlease note that the changes of 1.9 make a build of Brewery with the same quality as for older versions impossible.");
}
// load the Config // load the Config
try { try {
@@ -94,6 +98,7 @@ public class P extends JavaPlugin {
entityListener = new EntityListener(); entityListener = new EntityListener();
inventoryListener = new InventoryListener(); inventoryListener = new InventoryListener();
worldListener = new WorldListener(); worldListener = new WorldListener();
compat1_9 = new Compat1_9();
getCommand("Brewery").setExecutor(new CommandListener()); getCommand("Brewery").setExecutor(new CommandListener());
p.getServer().getPluginManager().registerEvents(blockListener, p); p.getServer().getPluginManager().registerEvents(blockListener, p);
@@ -101,6 +106,9 @@ public class P extends JavaPlugin {
p.getServer().getPluginManager().registerEvents(entityListener, p); p.getServer().getPluginManager().registerEvents(entityListener, p);
p.getServer().getPluginManager().registerEvents(inventoryListener, p); p.getServer().getPluginManager().registerEvents(inventoryListener, p);
p.getServer().getPluginManager().registerEvents(worldListener, p); p.getServer().getPluginManager().registerEvents(worldListener, p);
if (use1_9) {
p.getServer().getPluginManager().registerEvents(compat1_9, p);
}
// Heartbeat // Heartbeat
p.getServer().getScheduler().runTaskTimer(p, new BreweryRunnable(), 650, 1200); p.getServer().getScheduler().runTaskTimer(p, new BreweryRunnable(), 650, 1200);
@@ -0,0 +1,31 @@
package com.dre.brewery.listeners;
import com.dre.brewery.Brew;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.PotionMeta;
// Workaround to remove unwanted potion effects
public class Compat1_9 implements Listener {
@EventHandler
public void onPlayerDrink(PlayerItemConsumeEvent event) {
ItemStack item = event.getItem();
Brew brew = Brew.get(item);
if (brew == null) {
return;
}
if (item.getType() == Material.POTION) {
try {
PotionMeta meta = (PotionMeta) item.getItemMeta();
meta.setMainEffect(null);
item.setItemMeta(meta);
} catch (Exception exception) {}
}
}
}