From f8fe295503bbb29f8e9bb685a7349ec0cfb6b43c Mon Sep 17 00:00:00 2001 From: mihri Date: Tue, 5 Dec 2017 17:55:06 +0100 Subject: [PATCH] Async Loading Fix #1 Not working with older FurnitureLib ! --- src/de/Ste3et_C0st/Furniture/Main/main.java | 128 +++++++++++--------- 1 file changed, 68 insertions(+), 60 deletions(-) diff --git a/src/de/Ste3et_C0st/Furniture/Main/main.java b/src/de/Ste3et_C0st/Furniture/Main/main.java index ed1b67d..e63ed81 100644 --- a/src/de/Ste3et_C0st/Furniture/Main/main.java +++ b/src/de/Ste3et_C0st/Furniture/Main/main.java @@ -47,6 +47,7 @@ import de.Ste3et_C0st.Furniture.Objects.outdoor.tent_2; import de.Ste3et_C0st.Furniture.Objects.outdoor.tent_3; import de.Ste3et_C0st.Furniture.Objects.trap.BearTrap; import de.Ste3et_C0st.FurnitureLib.Crafting.Project; +import de.Ste3et_C0st.FurnitureLib.Database.CallBack; import de.Ste3et_C0st.FurnitureLib.Events.FurnitureLateSpawnEvent; import de.Ste3et_C0st.FurnitureLib.Utilitis.LocationUtil; import de.Ste3et_C0st.FurnitureLib.main.FurnitureLib; @@ -54,6 +55,7 @@ import de.Ste3et_C0st.FurnitureLib.main.ObjectID; import de.Ste3et_C0st.FurnitureLib.main.Type.CenterType; import de.Ste3et_C0st.FurnitureLib.main.Type.PlaceableSide; import de.Ste3et_C0st.FurnitureLib.main.Type.SQLAction; +import de.Ste3et_C0st.FurnitureLib.main.registerAPI; public class main extends JavaPlugin implements Listener{ @@ -73,80 +75,86 @@ public class main extends JavaPlugin implements Listener{ lib = (FurnitureLib) Bukkit.getPluginManager().getPlugin("FurnitureLib"); util = lib.getLocationUtil(); if(lib.getDescription().getVersion().startsWith("1.8") || lib.getDescription().getVersion().startsWith("1.9")){ - /* - * Register a new Project wit only the crafting recipe the ArmorStands must be hardcode - * new Project("PROJECTNAME", this, getResource("Folder/File.yml"), PlaceableSide.ENUM, ClassFile) - */ - - new Project("LargeTable", this,getResource("Crafting/LargeTable.yml"),PlaceableSide.TOP, largeTable.class).setSize(2, 1, 2, CenterType.RIGHT); - new Project("Campfire1", this,getResource("Crafting/Campfire1.yml"),PlaceableSide.TOP, campfire_1.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Campfire2", this,getResource("Crafting/Campfire2.yml"),PlaceableSide.TOP, campfire_2.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Tent2", this,getResource("Crafting/Tent2.yml"),PlaceableSide.TOP, tent_2.class).setSize(4, 3, 5, CenterType.RIGHT); - new Project("Tent3", this,getResource("Crafting/Tent3.yml"),PlaceableSide.TOP, tent_3.class).setSize(3, 2, 3, CenterType.CENTER); - new Project("Streetlamp", this, getResource("Crafting/Streetlamp.yml"),PlaceableSide.TOP, streetlamp.class).setSize(2, 4, 1, CenterType.FRONT); - new Project("Billboard", this, getResource("Crafting/Billboard.yml"),PlaceableSide.TOP, billboard.class).setSize(1, 3, 3, CenterType.RIGHT); - new Project("WeaponStand", this, getResource("Crafting/WeaponStand.yml"),PlaceableSide.TOP, weaponStand.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Guillotine", this, getResource("Crafting/guillotine.yml"),PlaceableSide.TOP, guillotine.class).setSize(1, 5, 2, CenterType.RIGHT); - new Project("FlowerPot", this, getResource("Crafting/FlowerPot.yml"),PlaceableSide.BOTTOM, TFlowerPot.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("BearTrap", this, getResource("Crafting/BearTrap.yml"), PlaceableSide.TOP, BearTrap.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("TrashCan", this, getResource("Crafting/TrashCan.yml"), PlaceableSide.TOP, TrashCan.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("Flag", this, getResource("Crafting/flag.yml"), PlaceableSide.TOP, flag.class).setSize(1, 3, 1, CenterType.RIGHT); - new Project("AdventCalender", this, getResource("Crafting/AdventCalender.yml"), PlaceableSide.TOP, AdventCalender.class).setSize(1, 1, 1, CenterType.RIGHT); - new Project("FireworkLauncher", this, getResource("Crafting/FireworkLauncher.yml"), PlaceableSide.TOP, FireworkLauncher.class).setSize(1, 1, 1, CenterType.CENTER); - /* - * Register a new Project with a FurnitureMaker Model - * new Project("PROJECTNAME", this, getResource("Folder/File.yml")) - */ - - new Project("Catapult", this, getResource("Models/Catapult.yml")).setSize(3, 2, 3, CenterType.RIGHT).setEditorProject(false); - new Project("HumanSkeleton", this, getResource("Models/HumanSkeleton.yml")).setSize(3, 1, 2, CenterType.RIGHT).setEditorProject(false); - new Project("CandyCane", this, getResource("Models/CandyCane.yml")).setSize(3, 4, 1, CenterType.RIGHT).setEditorProject(false); - new Project("SnowGolem", this, getResource("Models/SnowGolem.yml")).setSize(1, 2, 1, CenterType.RIGHT).setEditorProject(false); - new Project("TV", this, getResource("Models/TV.yml")).setSize(1, 2, 3, CenterType.CENTER).setEditorProject(false); - new Project("Chair", this, getResource("Models/Chair.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("CampChair", this, getResource("Models/CampChair.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("CactusPlant", this, getResource("Models/CactusPlant.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("SleepingBag", this, getResource("Models/SleepingBag.yml")).setSize(1, 1, 2, CenterType.RIGHT).setEditorProject(false); - new Project("ChristmasTree", this, getResource("Models/ChristmasTree.yml")).setSize(1, 1, 2, CenterType.RIGHT).setEditorProject(false); - new Project("Table", this, getResource("Models/Table.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("SchoolChair", this, getResource("Models/SchoolChair.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("SchoolTable", this, getResource("Models/SchoolTable.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("BlackBoard", this, getResource("Models/BlackBoard.yml")).setSize(1, 2, 3, CenterType.RIGHT).setEditorProject(false); - new Project("Barrels", this, getResource("Models/Barrels.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("WaxCandle", this, getResource("Models/WaxCandle.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("Lantern", this, getResource("Models/Lantern.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("Mailbox", this, getResource("Models/Mailbox.yml")).setSize(1, 2, 1, CenterType.RIGHT).setEditorProject(false); - new Project("Fence", this, getResource("Models/Fence.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("Trunk", this, getResource("Models/Trunk.yml")).setSize(1, 1, 4, CenterType.RIGHT).setEditorProject(false); - new Project("Sunshade", this, getResource("Models/Sunshade.yml")).setSize(1, 3, 1, CenterType.RIGHT).setEditorProject(false); - new Project("Hammock", this, getResource("Models/Hammock.yml")).setSize(1, 2, 7, CenterType.RIGHT).setEditorProject(false); - new Project("Crossbow", this, getResource("Models/Crossbow.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("Tent1", this,getResource("Models/Tent1.yml")).setSize(4, 3, 5, CenterType.RIGHT).setEditorProject(false); - new Project("GraveStone", this,getResource("Models/GraveStone.yml")).setSize(1, 2, 3, CenterType.CENTER).setEditorProject(false); - new Project("Camera", this, getResource("Models/Camera.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); - new Project("Sofa", this, getResource("Models/Sofa.yml")).setSize(1, 1, 3, CenterType.RIGHT).setEditorProject(false); - new Project("Log", this, getResource("Models/Log.yml")).setSize(1, 1, 1, CenterType.CENTER).setEditorProject(false); - addDefault("fence", "whiteList", "config.yml"); addDefault("bearTrap", "damage", "damage.yml"); addDefault("catapult", "range", "range.yml"); setDefaults(); setDefaults_2(); - - //Register the plugin to load the Furnitures for the Hardcodet part - - lib.registerPluginFurnitures(this); - loadModels(); - Bukkit.getPluginManager().registerEvents(this, this); + + lib.registerPluginFurnitures(this, new CallBack() { + @Override + public void onResult(boolean arg0) { + registerFurnitures(); + } + }); }else{ lib.send("FurnitureLib Version > 1.6.x not found"); lib.send("DiceFurniture deos not load"); } } + private void registerFurnitures() { + /* + * Register a new Project wit only the crafting recipe the ArmorStands must be hardcode + * new Project("PROJECTNAME", this, getResource("Folder/File.yml"), PlaceableSide.ENUM, ClassFile) + */ + + new Project("LargeTable", this,getResource("Crafting/LargeTable.yml"),PlaceableSide.TOP, largeTable.class).setSize(2, 1, 2, CenterType.RIGHT); + new Project("Campfire1", this,getResource("Crafting/Campfire1.yml"),PlaceableSide.TOP, campfire_1.class).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Campfire2", this,getResource("Crafting/Campfire2.yml"),PlaceableSide.TOP, campfire_2.class).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Tent2", this,getResource("Crafting/Tent2.yml"),PlaceableSide.TOP, tent_2.class).setSize(4, 3, 5, CenterType.RIGHT); + new Project("Tent3", this,getResource("Crafting/Tent3.yml"),PlaceableSide.TOP, tent_3.class).setSize(3, 2, 3, CenterType.CENTER); + new Project("Streetlamp", this, getResource("Crafting/Streetlamp.yml"),PlaceableSide.TOP, streetlamp.class).setSize(2, 4, 1, CenterType.FRONT); + new Project("Billboard", this, getResource("Crafting/Billboard.yml"),PlaceableSide.TOP, billboard.class).setSize(1, 3, 3, CenterType.RIGHT); + new Project("WeaponStand", this, getResource("Crafting/WeaponStand.yml"),PlaceableSide.TOP, weaponStand.class).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Guillotine", this, getResource("Crafting/guillotine.yml"),PlaceableSide.TOP, guillotine.class).setSize(1, 5, 2, CenterType.RIGHT); + new Project("FlowerPot", this, getResource("Crafting/FlowerPot.yml"),PlaceableSide.BOTTOM, TFlowerPot.class).setSize(1, 1, 1, CenterType.RIGHT); + new Project("BearTrap", this, getResource("Crafting/BearTrap.yml"), PlaceableSide.TOP, BearTrap.class).setSize(1, 1, 1, CenterType.RIGHT); + new Project("TrashCan", this, getResource("Crafting/TrashCan.yml"), PlaceableSide.TOP, TrashCan.class).setSize(1, 1, 1, CenterType.RIGHT); + new Project("Flag", this, getResource("Crafting/flag.yml"), PlaceableSide.TOP, flag.class).setSize(1, 3, 1, CenterType.RIGHT); + new Project("AdventCalender", this, getResource("Crafting/AdventCalender.yml"), PlaceableSide.TOP, AdventCalender.class).setSize(1, 1, 1, CenterType.RIGHT); + new Project("FireworkLauncher", this, getResource("Crafting/FireworkLauncher.yml"), PlaceableSide.TOP, FireworkLauncher.class).setSize(1, 1, 1, CenterType.CENTER); + + /* + * Register a new Project with a FurnitureMaker Model + * new Project("PROJECTNAME", this, getResource("Folder/File.yml")) + */ + + new Project("Catapult", this, getResource("Models/Catapult.yml")).setSize(3, 2, 3, CenterType.RIGHT).setEditorProject(false); + new Project("HumanSkeleton", this, getResource("Models/HumanSkeleton.yml")).setSize(3, 1, 2, CenterType.RIGHT).setEditorProject(false); + new Project("CandyCane", this, getResource("Models/CandyCane.yml")).setSize(3, 4, 1, CenterType.RIGHT).setEditorProject(false); + new Project("SnowGolem", this, getResource("Models/SnowGolem.yml")).setSize(1, 2, 1, CenterType.RIGHT).setEditorProject(false); + new Project("TV", this, getResource("Models/TV.yml")).setSize(1, 2, 3, CenterType.CENTER).setEditorProject(false); + new Project("Chair", this, getResource("Models/Chair.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("CampChair", this, getResource("Models/CampChair.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("CactusPlant", this, getResource("Models/CactusPlant.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("SleepingBag", this, getResource("Models/SleepingBag.yml")).setSize(1, 1, 2, CenterType.RIGHT).setEditorProject(false); + new Project("ChristmasTree", this, getResource("Models/ChristmasTree.yml")).setSize(1, 1, 2, CenterType.RIGHT).setEditorProject(false); + new Project("Table", this, getResource("Models/Table.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("SchoolChair", this, getResource("Models/SchoolChair.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("SchoolTable", this, getResource("Models/SchoolTable.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("BlackBoard", this, getResource("Models/BlackBoard.yml")).setSize(1, 2, 3, CenterType.RIGHT).setEditorProject(false); + new Project("Barrels", this, getResource("Models/Barrels.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("WaxCandle", this, getResource("Models/WaxCandle.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("Lantern", this, getResource("Models/Lantern.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("Mailbox", this, getResource("Models/Mailbox.yml")).setSize(1, 2, 1, CenterType.RIGHT).setEditorProject(false); + new Project("Fence", this, getResource("Models/Fence.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("Trunk", this, getResource("Models/Trunk.yml")).setSize(1, 1, 4, CenterType.RIGHT).setEditorProject(false); + new Project("Sunshade", this, getResource("Models/Sunshade.yml")).setSize(1, 3, 1, CenterType.RIGHT).setEditorProject(false); + new Project("Hammock", this, getResource("Models/Hammock.yml")).setSize(1, 2, 7, CenterType.RIGHT).setEditorProject(false); + new Project("Crossbow", this, getResource("Models/Crossbow.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("Tent1", this,getResource("Models/Tent1.yml")).setSize(4, 3, 5, CenterType.RIGHT).setEditorProject(false); + new Project("GraveStone", this,getResource("Models/GraveStone.yml")).setSize(1, 2, 3, CenterType.CENTER).setEditorProject(false); + new Project("Camera", this, getResource("Models/Camera.yml")).setSize(1, 1, 1, CenterType.RIGHT).setEditorProject(false); + new Project("Sofa", this, getResource("Models/Sofa.yml")).setSize(1, 1, 3, CenterType.RIGHT).setEditorProject(false); + new Project("Log", this, getResource("Models/Log.yml")).setSize(1, 1, 1, CenterType.CENTER).setEditorProject(false); + + loadModels(); + } + private void addDefault(String a, String b, String d){ c = new config(); this.file = c.getConfig(b, "plugin/"+a+"/");