diff --git a/pom.xml b/pom.xml index e0b8d37..acaf609 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 de.Ste3et_C0st.furniture DiceFurniture - 3.4.4 + 3.4.6 clean package install src @@ -100,7 +100,7 @@ com.github.Ste3et FurnitureLib - 427b17286b + 9d4941bc50 \ No newline at end of file diff --git a/src/de/Ste3et_C0st/Furniture/Main/FurnitureHook.java b/src/de/Ste3et_C0st/Furniture/Main/FurnitureHook.java index 5256f91..a20dcab 100644 --- a/src/de/Ste3et_C0st/Furniture/Main/FurnitureHook.java +++ b/src/de/Ste3et_C0st/Furniture/Main/FurnitureHook.java @@ -1,12 +1,7 @@ package de.Ste3et_C0st.Furniture.Main; -import java.lang.reflect.Field; -import java.util.Objects; - import org.bukkit.Bukkit; import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginDescriptionFile; - import de.Ste3et_C0st.Furniture.Main.Event.redstoneEvent; import de.Ste3et_C0st.Furniture.Objects.RPG.Catapult; import de.Ste3et_C0st.Furniture.Objects.RPG.Crossbow; @@ -56,8 +51,6 @@ public class FurnitureHook extends FurniturePlugin{ try { String modelFolder = FurnitureHook.isNewVersion() ? "Models113/" : "Models109/"; String ending = FurnitureHook.isNewVersion() ? ".dModel" : ".yml"; - - new Project("Catapult", getPlugin(), getResource(modelFolder + "Catapult" + ending), Catapult.class).setSize(3, 2, 3, CenterType.RIGHT); new Project("HumanSkeleton", getPlugin(), getResource(modelFolder + "HumanSkeleton" + ending)).setSize(3, 1, 2, CenterType.RIGHT); new Project("CandyCane", getPlugin(), getResource(modelFolder + "CandyCane" + ending)).setSize(3, 4, 1, CenterType.RIGHT); new Project("SnowGolem", getPlugin(), getResource(modelFolder + "SnowGolem" + ending)).setSize(1, 2, 1, CenterType.RIGHT); @@ -71,35 +64,37 @@ public class FurnitureHook extends FurniturePlugin{ new Project("SchoolChair", getPlugin(), getResource(modelFolder + "SchoolChair" + ending)).setSize(1, 1, 1, CenterType.RIGHT); new Project("SchoolTable", getPlugin(), getResource(modelFolder + "SchoolTable" + ending)).setSize(1, 1, 1, CenterType.RIGHT); new Project("BlackBoard", getPlugin(), getResource(modelFolder + "BlackBoard" + ending)).setPlaceableSide(PlaceableSide.SIDE).setSize(1, 2, 3, CenterType.RIGHT); - new Project("Barrels", getPlugin(), getResource(modelFolder + "Barrels" + ending), barrels.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("WaxCandle", getPlugin(), getResource(modelFolder + "WaxCandle" + ending), WaxCandle.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Lantern", getPlugin(), getResource(modelFolder + "Lantern" + ending), WaxCandle.class).setSize(1, 1, 1, CenterType.RIGHT); new Project("MailBox", getPlugin(), getResource(modelFolder + "MailBox" + ending)).setSize(1, 2, 1, CenterType.RIGHT); - new Project("Fence", getPlugin(), getResource(modelFolder + "Fence" + ending), fance.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Trunk", getPlugin(), getResource(modelFolder + "Trunk" + ending), Trunk.class).setSize(1, 1, 4, CenterType.RIGHT); - new Project("Sunshade", getPlugin(), getResource(modelFolder + "Sunshade" + ending), sunshade.class).setSize(1, 3, 1, CenterType.RIGHT); - new Project("Hammock", getPlugin(), getResource(modelFolder + "Hammock" + ending), hammock.class).setSize(1, 2, 7, CenterType.RIGHT); - new Project("Crossbow", getPlugin(), getResource(modelFolder + "Crossbow" + ending), Crossbow.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Tent1", getPlugin(),getResource(modelFolder + "Tent1" + ending), tent_1.class).setSize(4, 3, 5, CenterType.RIGHT); - new Project("GraveStone", getPlugin(),getResource(modelFolder + "GraveStone" + ending), graveStone.class).setSize(1, 2, 3, CenterType.CENTER); - new Project("Camera", getPlugin(), getResource(modelFolder + "Camera" + ending), camera.class).setSize(1, 1, 1, CenterType.RIGHT); new Project("Sofa", getPlugin(), getResource(modelFolder + "Sofa" + ending)).setSize(1, 1, 3, CenterType.RIGHT); - new Project("Log", getPlugin(), getResource(modelFolder + "Log" + ending), log.class).setSize(1, 1, 1, CenterType.CENTER); - new Project("LargeTable", getPlugin(),getResource(modelFolder + "LargeTable" + ending),PlaceableSide.TOP, largeTable.class).setSize(2, 1, 2, CenterType.RIGHT); - new Project("Campfire1", getPlugin(),getResource(modelFolder + "Campfire1" + ending),PlaceableSide.TOP, campfire_1.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Campfire2", getPlugin(),getResource(modelFolder + "Campfire2" + ending),PlaceableSide.TOP, campfire_2.class).setSize(2, 1, 2, CenterType.RIGHT); - new Project("Tent2", getPlugin(),getResource(modelFolder + "Tent2" + ending),PlaceableSide.TOP, tent_2.class).setSize(6, 3, 5, CenterType.RIGHT); - new Project("Tent3", getPlugin(),getResource(modelFolder + "Tent3" + ending),PlaceableSide.TOP, tent_3.class).setSize(3, 2, 3, CenterType.CENTER); - new Project("Streetlamp", getPlugin(), getResource(modelFolder + "Streetlamp" + ending),PlaceableSide.TOP, streetlamp.class).setSize(2, 4, 1, CenterType.FRONT); - new Project("Billboard", getPlugin(), getResource(modelFolder + "Billboard" + ending),PlaceableSide.TOP, billboard.class).setSize(1, 3, 3, CenterType.RIGHT); - new Project("WeaponStand", getPlugin(), getResource(modelFolder + "WeaponStand" + ending),PlaceableSide.TOP, weaponStand.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Guillotine", getPlugin(), getResource(modelFolder + "Guillotine" + ending),PlaceableSide.TOP, Guillotine.class).setSize(1, 5, 2, CenterType.RIGHT); - new Project("FlowerPot", getPlugin(), getResource(modelFolder + "FlowerPot" + ending),PlaceableSide.BOTTOM, TFlowerPot.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("BearTrap", getPlugin(), getResource(modelFolder + "BearTrap" + ending), PlaceableSide.TOP, BearTrap.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("TrashCan", getPlugin(), getResource(modelFolder + "TrashCan" + ending), PlaceableSide.TOP, TrashCan.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Flag", getPlugin(), getResource(modelFolder + "Flag" + ending), PlaceableSide.TOP, flag.class).setSize(1, 3, 1, CenterType.RIGHT); - new Project("AdventCalender", getPlugin(), getResource(modelFolder + "AdventCalender" + ending), PlaceableSide.TOP, AdventCalender.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("FireworkLauncher", getPlugin(), getResource(modelFolder + "FireworkLauncher" + ending), PlaceableSide.TOP, FireworkLauncher.class).setSize(1, 1, 1, CenterType.CENTER); + + new Project("Catapult", getPlugin(), getResource(modelFolder + "Catapult" + ending), PlaceableSide.TOP, Catapult::new).setSize(3, 2, 3, CenterType.RIGHT); + new Project("Barrels", getPlugin(), getResource(modelFolder + "Barrels" + ending), PlaceableSide.TOP, barrels::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("WaxCandle", getPlugin(), getResource(modelFolder + "WaxCandle" + ending), PlaceableSide.TOP, WaxCandle::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Lantern", getPlugin(), getResource(modelFolder + "Lantern" + ending), PlaceableSide.TOP, WaxCandle::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Log", getPlugin(), getResource(modelFolder + "Log" + ending), log::new).setSize(1, 1, 1, CenterType.CENTER); + new Project("Fence", getPlugin(), getResource(modelFolder + "Fence" + ending), fance::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Trunk", getPlugin(), getResource(modelFolder + "Trunk" + ending), Trunk::new).setSize(1, 1, 4, CenterType.RIGHT); + new Project("Sunshade", getPlugin(), getResource(modelFolder + "Sunshade" + ending), sunshade::new).setSize(1, 3, 1, CenterType.RIGHT); + new Project("Hammock", getPlugin(), getResource(modelFolder + "Hammock" + ending), hammock::new).setSize(1, 2, 7, CenterType.RIGHT); + new Project("Crossbow", getPlugin(), getResource(modelFolder + "Crossbow" + ending), Crossbow::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Tent1", getPlugin(),getResource(modelFolder + "Tent1" + ending), tent_1::new).setSize(4, 3, 5, CenterType.RIGHT); + new Project("GraveStone", getPlugin(),getResource(modelFolder + "GraveStone" + ending), graveStone::new).setSize(1, 2, 3, CenterType.CENTER); + new Project("Camera", getPlugin(), getResource(modelFolder + "Camera" + ending), camera::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("LargeTable", getPlugin(),getResource(modelFolder + "LargeTable" + ending), largeTable::new).setSize(2, 1, 2, CenterType.RIGHT); + new Project("Campfire1", getPlugin(),getResource(modelFolder + "Campfire1" + ending), campfire_1::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Campfire2", getPlugin(),getResource(modelFolder + "Campfire2" + ending), campfire_2::new).setSize(2, 1, 2, CenterType.RIGHT); + new Project("Tent2", getPlugin(),getResource(modelFolder + "Tent2" + ending), tent_2::new).setSize(6, 3, 5, CenterType.RIGHT); + new Project("Tent3", getPlugin(),getResource(modelFolder + "Tent3" + ending), tent_3::new).setSize(3, 2, 3, CenterType.CENTER); + new Project("Streetlamp", getPlugin(), getResource(modelFolder + "Streetlamp" + ending), streetlamp::new).setSize(2, 4, 1, CenterType.FRONT); + new Project("Billboard", getPlugin(), getResource(modelFolder + "Billboard" + ending), billboard::new).setSize(1, 3, 3, CenterType.RIGHT); + new Project("WeaponStand", getPlugin(), getResource(modelFolder + "WeaponStand" + ending), weaponStand::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Guillotine", getPlugin(), getResource(modelFolder + "Guillotine" + ending), Guillotine::new).setSize(1, 5, 2, CenterType.RIGHT); + new Project("FlowerPot", getPlugin(), getResource(modelFolder + "FlowerPot" + ending), TFlowerPot::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("BearTrap", getPlugin(), getResource(modelFolder + "BearTrap" + ending), BearTrap::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("TrashCan", getPlugin(), getResource(modelFolder + "TrashCan" + ending), TrashCan::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Flag", getPlugin(), getResource(modelFolder + "Flag" + ending), flag::new).setSize(1, 3, 1, CenterType.RIGHT); + new Project("AdventCalender", getPlugin(), getResource(modelFolder + "AdventCalender" + ending), PlaceableSide.TOP, AdventCalender::new).setSize(1, 1, 1, CenterType.RIGHT); + new Project("FireworkLauncher", getPlugin(), getResource(modelFolder + "FireworkLauncher" + ending), PlaceableSide.TOP, FireworkLauncher::new).setSize(1, 1, 1, CenterType.CENTER); FurnitureLib.getInstance().getFurnitureManager().getProjects().stream().filter(pro -> pro.getPlugin().equals(getPlugin())).forEach(pro -> pro.setEditorProject(editModels)); }catch (Exception e) { @@ -119,22 +114,6 @@ public class FurnitureHook extends FurniturePlugin{ } - private static Boolean newVersion = null; - public static boolean isNewVersion() { - if(Objects.isNull(newVersion)) { - try { - Class descriptionClass = PluginDescriptionFile.class; - Field field = descriptionClass.getDeclaredField("apiVersion"); - boolean bool = Objects.nonNull(field); - newVersion = bool; - return bool; - }catch (Exception e) { - newVersion = false; - return false; - } - }else { - return newVersion; - } - } + public static boolean isNewVersion() {return FurnitureLib.isNewVersion();} } diff --git a/src/de/Ste3et_C0st/Furniture/Objects/RPG/flag.java b/src/de/Ste3et_C0st/Furniture/Objects/RPG/flag.java index 8f87ae4..79e47a0 100644 --- a/src/de/Ste3et_C0st/Furniture/Objects/RPG/flag.java +++ b/src/de/Ste3et_C0st/Furniture/Objects/RPG/flag.java @@ -1,23 +1,12 @@ package de.Ste3et_C0st.Furniture.Objects.RPG; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.util.EulerAngle; - import de.Ste3et_C0st.FurnitureLib.main.Furniture; import de.Ste3et_C0st.FurnitureLib.main.ObjectID; -import de.Ste3et_C0st.FurnitureLib.main.Type.BodyPart; import de.Ste3et_C0st.FurnitureLib.main.Type.SQLAction; -import de.Ste3et_C0st.FurnitureLib.main.entity.fArmorStand; import de.Ste3et_C0st.FurnitureLib.main.entity.fEntity; public class flag extends Furniture { diff --git a/src/de/Ste3et_C0st/Furniture/Objects/electric/streetlamp.java b/src/de/Ste3et_C0st/Furniture/Objects/electric/streetlamp.java index 154a4aa..09d5267 100644 --- a/src/de/Ste3et_C0st/Furniture/Objects/electric/streetlamp.java +++ b/src/de/Ste3et_C0st/Furniture/Objects/electric/streetlamp.java @@ -36,22 +36,27 @@ public class streetlamp extends Furniture{ public void spawn(Location location){} private void setBlock(){ - List blockLocation = new ArrayList(); - Location location = getLocation().getBlock().getLocation(); + List blockLocation = new ArrayList(); + Location location = getLocation(); location.setY(location.getY()-1); for(int i = 0; i<=3;i++){ location.setY(location.getY()+1); - Block block = location.getBlock(); - block.setType(Material.BARRIER); - blockLocation.add(block); + blockLocation.add(location); + if(!this.getObjID().isFinish()) { + Block block = location.getBlock(); + block.setType(Material.BARRIER); + } + if(i==3){ Location loc =getLutil().getRelative(location, getBlockFace(), -1D, 0D); - Block blocks = loc.getBlock(); - blocks.setType(Material.BARRIER); - blockLocation.add(blocks); + if(!this.getObjID().isFinish()) { + Block blocks = loc.getBlock(); + blocks.setType(Material.BARRIER); + } + blockLocation.add(loc); } } - getObjID().addBlock(blockLocation); + getObjID().addBlockLocations(blockLocation); } @Override diff --git a/src/de/Ste3et_C0st/Furniture/Objects/garden/graveStone.java b/src/de/Ste3et_C0st/Furniture/Objects/garden/graveStone.java index 1a6577e..a0d45e8 100644 --- a/src/de/Ste3et_C0st/Furniture/Objects/garden/graveStone.java +++ b/src/de/Ste3et_C0st/Furniture/Objects/garden/graveStone.java @@ -4,7 +4,6 @@ import org.bukkit.ChatColor; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; -import org.bukkit.block.Block; import org.bukkit.block.Sign; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -17,7 +16,6 @@ import de.Ste3et_C0st.FurnitureLib.main.Type.SQLAction; public class graveStone extends Furniture{ private Location signLoc; - private Block sign; private String[] lines = new String[4]; public graveStone(ObjectID id) { @@ -27,7 +25,7 @@ public class graveStone extends Furniture{ private void setBlock(){ this.signLoc = getObjID().getBlockList().stream().filter(b -> b.getBlock().getType().name().contains("SIGN")).findFirst().orElse(null); - if(this.signLoc != null) this.sign = this.signLoc.getBlock(); + //if(this.signLoc != null) this.sign = this.signLoc.getBlock(); this.lines = getText(); } @@ -38,8 +36,8 @@ public class graveStone extends Furniture{ if(player == null) return; if(canBuild(player)) { this.destroy(player); - if(sign!=null){ - sign.setType(Material.AIR); + if(getSignLocation()!=null){ + getSignLocation().getBlock().setType(Material.AIR); } } } @@ -61,7 +59,6 @@ public class graveStone extends Furniture{ Bukkit.getScheduler().scheduleSyncDelayedTask(getPlugin(), new Runnable() { @Override public void run() { - sign = getLutil().setSign(getBlockFace(), signLoc); placetext(); } }); @@ -70,9 +67,8 @@ public class graveStone extends Furniture{ public Location getSignLocation(){return this.signLoc;} public void removeSign(){ - if(sign!=null){ - sign.setType(Material.AIR); - sign = null; + if(signLoc!=null){ + signLoc.getBlock().setType(Material.AIR); getManager().remove(getObjID()); delete(); } @@ -108,8 +104,8 @@ public class graveStone extends Furniture{ } public void placetext(){ - if ((this.sign.getState() instanceof Sign) && lines != null){ - Sign sign = (Sign) this.sign.getState(); + if ((this.getSignLocation().getBlock().getState() instanceof Sign) && lines != null){ + Sign sign = (Sign) this.getSignLocation().getBlock().getState(); Integer i = 0; for(String s : lines){ if(i>3){break;} @@ -121,15 +117,15 @@ public class graveStone extends Furniture{ } public String[] getText(){ - if(sign==null || !sign.getType().name().contains("SIGN")){return null;} - Sign sign = (Sign) this.sign.getState(); + if(signLoc==null || !getSignLocation().getBlock().getType().name().contains("SIGN")){return null;} + Sign sign = (Sign) this.getSignLocation().getBlock().getState(); return sign.getLines(); } public void setText(Integer line, String text){ if(line==null || text == null){return;} - if(sign==null || !sign.getType().name().contains("SIGN")){return;} - Sign sign = (Sign) this.sign.getState(); + if(getSignLocation()==null || !getSignLocation().getBlock().getType().name().contains("SIGN")){return;} + Sign sign = (Sign) this.getSignLocation().getBlock().getState(); sign.setLine(line, text); sign.update(true, false); lines[line] = text; diff --git a/src/plugin.yml b/src/plugin.yml index 14f3d6e..2c267ee 100644 --- a/src/plugin.yml +++ b/src/plugin.yml @@ -1,5 +1,5 @@ name: DiceFurniture -version: 3.4.2 +version: 3.4.6 description: Add some new Objects to the Server author: Ste3et_C0st website: http://dicecraft.de