mirror of
https://github.com/Ste3et/furniture.git
synced 2024-09-27 07:12:39 +02:00
DiceFurniture
This commit is contained in:
parent
981eefc68a
commit
222d3056a5
2
.project
2
.project
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>DefaultFurniture</name>
|
||||
<name>DiceFurniture</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
|
@ -1,11 +1,11 @@
|
||||
Camera:
|
||||
name: '&cCamera'
|
||||
material: 383
|
||||
crafting:
|
||||
disable: false
|
||||
recipe: DXD,AEA,EAE
|
||||
index:
|
||||
D: 331
|
||||
E: 280
|
||||
X: 35
|
||||
A:
|
||||
name: '&cCamera'
|
||||
material: 383
|
||||
crafting:
|
||||
disable: false
|
||||
recipe: DXD,AEA,EAE
|
||||
index:
|
||||
D: 289
|
||||
E: 280
|
||||
X: 35
|
||||
A: 331
|
@ -1,9 +1,17 @@
|
||||
package de.Ste3et_C0st.Furniture.Main;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Effect;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
@ -12,7 +20,7 @@ import de.Ste3et_C0st.Furniture.Objects.electric.tv;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.graveStone;
|
||||
import de.Ste3et_C0st.Furniture.Objects.indoor.chair;
|
||||
import de.Ste3et_C0st.Furniture.Objects.indoor.largeTable;
|
||||
import de.Ste3et_C0st.Furniture.Objects.indoor.latern;
|
||||
import de.Ste3et_C0st.Furniture.Objects.indoor.lantern;
|
||||
import de.Ste3et_C0st.Furniture.Objects.indoor.sofa;
|
||||
import de.Ste3et_C0st.Furniture.Objects.indoor.table;
|
||||
import de.Ste3et_C0st.Furniture.Objects.outdoor.barrels;
|
||||
@ -25,6 +33,7 @@ import de.Ste3et_C0st.FurnitureLib.Crafting.CraftingFile;
|
||||
import de.Ste3et_C0st.FurnitureLib.Crafting.Project;
|
||||
import de.Ste3et_C0st.FurnitureLib.Events.FurnitureItemEvent;
|
||||
import de.Ste3et_C0st.FurnitureLib.Utilitis.LocationUtil;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.ArmorStandPacket;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.FurnitureLib;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.FurnitureManager;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.ObjectID;
|
||||
@ -43,22 +52,26 @@ public class main extends JavaPlugin implements Listener{
|
||||
manager = lib.getFurnitureManager();
|
||||
util = lib.getLocationUtil();
|
||||
Bukkit.getPluginManager().registerEvents(this, this);
|
||||
manager.addProject(new Project("Camera", new CraftingFile("Camera", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("TV", new CraftingFile("TV", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("GraveStone", new CraftingFile("GraveStone", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Chair", new CraftingFile("Chair", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("LargeTable", new CraftingFile("LargeTable", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Lantern", new CraftingFile("Lantern", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Sofa", new CraftingFile("Sofa", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Table", new CraftingFile("Table", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Barrels", new CraftingFile("Barrels", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Campfire1", new CraftingFile("Campfire1", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Campfire2", new CraftingFile("Campfire2", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Tent1", new CraftingFile("Tent1", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Tent2", new CraftingFile("Tent2", getResource("Crafting/Camera.yml")),this));
|
||||
manager.addProject(new Project("Tent3", new CraftingFile("Tent3", getResource("Crafting/Camera.yml")),this));
|
||||
|
||||
new Project("Camera", new CraftingFile("Camera", getResource("Crafting/Camera.yml")),this, camera.class).setSize(1, 2, 1);
|
||||
new Project("TV", new CraftingFile("TV", getResource("Crafting/TV.yml")),this, tv.class).setSize(1, 2, 1);
|
||||
new Project("GraveStone", new CraftingFile("GraveStone", getResource("Crafting/GraveStone.yml")),this, graveStone.class).setSize(1, 2, 1);
|
||||
new Project("Chair", new CraftingFile("Chair", getResource("Crafting/Chair.yml")),this, chair.class).setSize(1, 1, 1);
|
||||
new Project("LargeTable", new CraftingFile("LargeTable", getResource("Crafting/LargeTable.yml")),this, largeTable.class).setSize(3, 1, 3);
|
||||
new Project("Lantern", new CraftingFile("Lantern", getResource("Crafting/Lantern.yml")),this, lantern.class).setSize(1, 1, 1);
|
||||
new Project("Sofa", new CraftingFile("Sofa", getResource("Crafting/Sofa.yml")),this, sofa.class).setSize(1, 2, 1);
|
||||
new Project("Table", new CraftingFile("Table", getResource("Crafting/Table.yml")),this, table.class).setSize(1, 1, 1);
|
||||
new Project("Barrels", new CraftingFile("Barrels", getResource("Crafting/Barrels.yml")),this, barrels.class).setSize(1,1,1);
|
||||
new Project("Campfire1", new CraftingFile("Campfire1", getResource("Crafting/Campfire1.yml")),this, campfire_1.class).setSize(1, 1, 1);
|
||||
new Project("Campfire2", new CraftingFile("Campfire2", getResource("Crafting/Campfire2.yml")),this, campfire_2.class).setSize(2, 1, 2);
|
||||
new Project("Tent1", new CraftingFile("Tent1", getResource("Crafting/Tent1.yml")),this, tent_1.class).setSize(5, 3, 4);
|
||||
new Project("Tent2", new CraftingFile("Tent2", getResource("Crafting/Tent2.yml")),this, tent_2.class).setSize(6, 3, 4);
|
||||
new Project("Tent3", new CraftingFile("Tent3", getResource("Crafting/Tent3.yml")),this, tent_3.class).setSize(1, 2, 3);
|
||||
|
||||
List<ObjectID> objList = new ArrayList<ObjectID>();
|
||||
for(ObjectID obj : manager.getObjectList()){
|
||||
if(objList.contains(obj)) continue;
|
||||
if(!objList.contains(obj)) objList.add(obj);
|
||||
if(obj.getPlugin().equalsIgnoreCase(this.getName())){
|
||||
switch (obj.getProject()) {
|
||||
case "Camera":
|
||||
@ -77,7 +90,7 @@ public class main extends JavaPlugin implements Listener{
|
||||
new largeTable(obj.getStartLocation(), lib, "LargeTable", this, obj);
|
||||
break;
|
||||
case "Lantern":
|
||||
new latern(obj.getStartLocation(), lib, "Lantern", this, obj);
|
||||
new lantern(obj.getStartLocation(), lib, "Lantern", this, obj);
|
||||
break;
|
||||
case "Sofa":
|
||||
new sofa(obj.getStartLocation(), lib, "Sofa", this, obj);
|
||||
@ -114,6 +127,22 @@ public class main extends JavaPlugin implements Listener{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static void deleteEffect(List<ArmorStandPacket> asList){
|
||||
try{
|
||||
if(asList==null||asList.isEmpty()) return;
|
||||
for (ArmorStandPacket packet : asList) {
|
||||
if(packet!=null){
|
||||
if(packet.getInventory() != null && packet.getInventory().getHelmet()!=null){
|
||||
if(packet.getInventory().getHelmet().getType()!=null&&!packet.getInventory().getHelmet().getType().equals(Material.AIR)){
|
||||
packet.getLocation().getWorld().playEffect(packet.getLocation(), Effect.STEP_SOUND, packet.getInventory().getHelmet().getType());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch(Exception e){}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureItemEvent e){
|
||||
if(e.isCancelled()){return;}
|
||||
@ -123,25 +152,37 @@ public class main extends JavaPlugin implements Listener{
|
||||
Location loc = e.getLocation().getBlock().getLocation();
|
||||
loc.setYaw(e.getPlayer().getLocation().getYaw());
|
||||
loc.add(0, 1, 0);
|
||||
Player p = e.getPlayer();
|
||||
Project pro = e.getProject();
|
||||
lib.getLimitationManager().add(e.getLocation(), pro, p);
|
||||
switch(e.getProject().getName()){
|
||||
case "Camera" : new camera(loc, lib, "Camera", instance, null); return;
|
||||
case "TV" : new tv(loc, lib, "TV", instance, null); return;
|
||||
case "GraveStone" : new graveStone(loc, lib, "GraveStone", instance, null); return;
|
||||
case "Chair" : new chair(loc, lib, "Chair", instance, null); return;
|
||||
case "LargeTable" : new largeTable(loc, lib, "LargeTable", instance, null); return;
|
||||
case "Lantern" : new latern(loc, lib, "Lantern", instance, null); return;
|
||||
case "Sofa" : new sofa(loc, lib, "Sofa", instance, null); return;
|
||||
case "Table" : new table(loc, lib, "Table", instance, null); return;
|
||||
case "Barrels" : new barrels(loc, lib, "Barrels", instance, null); return;
|
||||
case "Campfire1" : new campfire_1(loc, lib, "Campfire1", instance, null); return;
|
||||
case "Campfire2" : new campfire_2(loc, lib, "Campfire2", instance, null); return;
|
||||
case "Tent1" : new tent_1(loc, lib, "Tent1", instance, null); return;
|
||||
case "Tent2" : new tent_2(loc, lib, "Tent2", instance, null); return;
|
||||
case "Tent3" : new tent_3(loc, lib, "Tent3", instance, null); return;
|
||||
case "Camera" : new camera(loc, lib, "Camera", instance, null); removeEgge(p); return;
|
||||
case "TV" : new tv(loc, lib, "TV", instance, null); removeEgge(p); return;
|
||||
case "GraveStone" : new graveStone(loc, lib, "GraveStone", instance, null); removeEgge(p); return;
|
||||
case "Chair" : new chair(loc, lib, "Chair", instance, null); removeEgge(p); return;
|
||||
case "LargeTable" : new largeTable(loc, lib, "LargeTable", instance, null); removeEgge(p); return;
|
||||
case "Lantern" : new lantern(loc, lib, "Lantern", instance, null); removeEgge(p); return;
|
||||
case "Sofa" : new sofa(loc, lib, "Sofa", instance, null); removeEgge(p); return;
|
||||
case "Table" : new table(loc, lib, "Table", instance, null); removeEgge(p); return;
|
||||
case "Barrels" : new barrels(loc, lib, "Barrels", instance, null); removeEgge(p); return;
|
||||
case "Campfire1" : new campfire_1(loc, lib, "Campfire1", instance, null); removeEgge(p); return;
|
||||
case "Campfire2" : new campfire_2(loc, lib, "Campfire2", instance, null); removeEgge(p); return;
|
||||
case "Tent1" : new tent_1(loc, lib, "Tent1", instance, null); removeEgge(p); return;
|
||||
case "Tent2" : new tent_2(loc, lib, "Tent2", instance, null); removeEgge(p); return;
|
||||
case "Tent3" : new tent_3(loc, lib, "Tent3", instance, null); removeEgge(p); return;
|
||||
default: e.getPlayer().sendMessage("A error occorupted"); return;
|
||||
}
|
||||
}
|
||||
|
||||
private void removeEgge(Player p){
|
||||
if(!p.getGameMode().equals(GameMode.CREATIVE)){
|
||||
Integer i = p.getInventory().getHeldItemSlot();
|
||||
ItemStack is1 = p.getInventory().getItemInHand();
|
||||
is1.setAmount(is1.getAmount()-1);
|
||||
p.getInventory().setItem(i, is1);
|
||||
}
|
||||
}
|
||||
|
||||
public static LocationUtil getLocationUtil(){return util;}
|
||||
|
||||
public static Plugin getInstance() {
|
||||
|
@ -5,6 +5,7 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
@ -55,7 +56,6 @@ public class camera implements Listener{
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -130,7 +130,6 @@ public class camera implements Listener{
|
||||
}
|
||||
|
||||
manager.send(obj);
|
||||
//lib.saveObjToDB(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
}
|
||||
|
||||
@ -139,6 +138,7 @@ public class camera implements Listener{
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(obj==null){return;}
|
||||
Player p = e.getPlayer();
|
||||
Location pLocation = lutil.getLocationCopy(lutil.getRelativ(p.getLocation().getBlock().getLocation(), b, -1D, 0D));
|
||||
Location locCopy = lutil.getLocationCopy(getLocation());
|
||||
@ -163,6 +163,12 @@ public class camera implements Listener{
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(obj==null){return;}
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
e.remove();
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
@ -50,7 +51,6 @@ public class tv implements Listener{
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -68,8 +68,8 @@ public class tv implements Listener{
|
||||
Location center = lutil.getCenter(getLocation());
|
||||
center.add(0, -1.38, 0);
|
||||
center.setYaw(lutil.FaceToYaw(b));
|
||||
|
||||
ArmorStandPacket as = manager.createArmorStand(obj, center);
|
||||
Location iron = center.clone();
|
||||
ArmorStandPacket as = manager.createArmorStand(obj, iron);
|
||||
as.getInventory().setHelmet(new ItemStack(Material.IRON_PLATE));
|
||||
as.setSmall(true);
|
||||
aspList.add(as);
|
||||
@ -121,6 +121,12 @@ public class tv implements Listener{
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(obj==null){return;}
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
e.remove();
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
@ -45,6 +46,7 @@ public class graveStone implements Listener{
|
||||
|
||||
private String id;
|
||||
public String getID(){return this.id;}
|
||||
public ObjectID getObjectID(){return this.obj;}
|
||||
public Location getLocation(){return this.loc;}
|
||||
public BlockFace getBlockFace(){return this.b;}
|
||||
|
||||
@ -60,7 +62,6 @@ public class graveStone implements Listener{
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
setBlock();
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -84,7 +85,13 @@ public class graveStone implements Listener{
|
||||
Location kreutz2 = lutil.getRelativ(center, getBlockFace(), -.23, -1.27);
|
||||
Location sign = lutil.getRelativ(kreutz2.getBlock().getLocation(), b, 0D, 1D);
|
||||
this.signLoc = sign;
|
||||
this.sign = lutil.setSign(b, sign);
|
||||
|
||||
if(!sign.getBlock().getType().equals(Material.WALL_SIGN)){
|
||||
this.sign = lutil.setSign(b, sign);
|
||||
}else{
|
||||
this.sign = sign.getBlock();
|
||||
}
|
||||
|
||||
this.lines = getText();
|
||||
}
|
||||
|
||||
@ -152,15 +159,22 @@ public class graveStone implements Listener{
|
||||
if(e.isCancelled()) return;
|
||||
if(!e.canBuild(null)) return;
|
||||
if(!e.getID().equals(obj)) return;
|
||||
if(obj==null){return;}
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
sign.setType(Material.AIR);
|
||||
sign = null;
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
e.remove();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBlockRemove(BlockBreakEvent e)
|
||||
{
|
||||
if(obj==null){return;}
|
||||
if (sign==null) return;
|
||||
if (e.getBlock() == null) return;
|
||||
if (e.getBlock().getLocation() == null) return;
|
||||
@ -170,6 +184,7 @@ public class graveStone implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBlockPlaceEvent(BlockPlaceEvent e){
|
||||
if(obj==null){return;}
|
||||
if (sign==null) return;
|
||||
if (e.getBlock() == null) return;
|
||||
if (e.getBlock().getLocation() == null) return;
|
||||
@ -179,6 +194,7 @@ public class graveStone implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onDrop(ItemSpawnEvent e){
|
||||
if(obj==null){return;}
|
||||
if (sign==null) return;
|
||||
if (e.getLocation() == null) return;
|
||||
ItemStack is = e.getEntity().getItemStack();
|
||||
@ -211,6 +227,15 @@ public class graveStone implements Listener{
|
||||
});
|
||||
}
|
||||
|
||||
public void removeSign(){
|
||||
if(sign!=null){
|
||||
sign.setType(Material.AIR);
|
||||
sign = null;
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
}
|
||||
}
|
||||
|
||||
public void readFromBook(ItemStack is){
|
||||
BookMeta bm = (BookMeta) is.getItemMeta();
|
||||
if(bm == null){return;}
|
||||
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
@ -47,7 +48,6 @@ public class chair implements Listener{
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -116,15 +116,22 @@ public class chair implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
e.remove();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
ArmorStandPacket packet = manager.getArmorStandPacketByID(id);
|
||||
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
@ -25,7 +26,7 @@ import de.Ste3et_C0st.FurnitureLib.main.FurnitureLib;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.FurnitureManager;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.ObjectID;
|
||||
|
||||
public class latern implements Listener{
|
||||
public class lantern implements Listener{
|
||||
|
||||
Location loc;
|
||||
BlockFace b;
|
||||
@ -37,7 +38,7 @@ public class latern implements Listener{
|
||||
Integer id;
|
||||
Plugin plugin;
|
||||
|
||||
public latern(Location location, FurnitureLib lib, String name, Plugin plugin, ObjectID id){
|
||||
public lantern(Location location, FurnitureLib lib, String name, Plugin plugin, ObjectID id){
|
||||
this.lutil = main.getLocationUtil();
|
||||
this.b = lutil.yawToFace(location.getYaw());
|
||||
this.loc = location.getBlock().getLocation();
|
||||
@ -49,7 +50,6 @@ public class latern implements Listener{
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
setBlock();
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -117,6 +117,7 @@ public class latern implements Listener{
|
||||
|
||||
@EventHandler
|
||||
public void onWaterFlow(BlockFromToEvent e){
|
||||
if(obj==null){return;}
|
||||
Location locTo = e.getToBlock().getLocation();
|
||||
if(loc!=null && locTo.equals(loc.getBlock().getLocation())){
|
||||
e.setCancelled(true);
|
||||
@ -125,16 +126,23 @@ public class latern implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()) return;
|
||||
if(block==null) return;
|
||||
if(!e.getID().equals(obj)) return;
|
||||
if(!e.canBuild(null)) return;
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
block.setType(Material.AIR);
|
||||
manager.remove(obj);
|
||||
e.remove();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onInteract(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()) return;
|
||||
if(block==null) return;
|
||||
if(!e.getID().equals(obj)) return;
|
@ -50,7 +50,13 @@ public class largeTable implements Listener{
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
|
||||
for(ArmorStandPacket packet : manager.getArmorStandPacketByObjectID(obj)){
|
||||
if(packet.getName().startsWith("#TELLER")){
|
||||
tellerIDs.add(packet.getEntityId());
|
||||
}
|
||||
}
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -60,7 +66,6 @@ public class largeTable implements Listener{
|
||||
}
|
||||
|
||||
List<Integer> tellerIDs = new ArrayList<Integer>();
|
||||
List<Integer> plattenIDs = new ArrayList<Integer>();
|
||||
|
||||
public void spawn(Location loc){
|
||||
List<ArmorStandPacket> armorlist = new ArrayList<ArmorStandPacket>();
|
||||
@ -81,7 +86,6 @@ public class largeTable implements Listener{
|
||||
as.setPose(new EulerAngle(winkel, 0, 0), BodyPart.HEAD);
|
||||
as.getInventory().setHelmet(iTemStack_1);
|
||||
armorlist.add(as);
|
||||
plattenIDs.add(as.getEntityId());
|
||||
|
||||
l = lutil.getRelativ(location, this.b, 0.63, x*-.63);
|
||||
l.add(0,-1.2,0);
|
||||
@ -90,7 +94,6 @@ public class largeTable implements Listener{
|
||||
as.setPose(new EulerAngle(winkel, 0, 0), BodyPart.HEAD);
|
||||
as.getInventory().setHelmet(iTemStack_1);
|
||||
armorlist.add(as);
|
||||
plattenIDs.add(as.getEntityId());
|
||||
|
||||
l = lutil.getRelativ(location, this.b, 1.26, x*-.63);
|
||||
l.add(0,-1.2,0);
|
||||
@ -99,7 +102,6 @@ public class largeTable implements Listener{
|
||||
as.setPose(new EulerAngle(winkel, 0, 0), BodyPart.HEAD);
|
||||
as.getInventory().setHelmet(iTemStack_1);
|
||||
armorlist.add(as);
|
||||
plattenIDs.add(as.getEntityId());
|
||||
}
|
||||
|
||||
Location middle = lutil.getCenter(armorlist.get(0).getLocation());
|
||||
@ -194,35 +196,16 @@ public class largeTable implements Listener{
|
||||
}
|
||||
}
|
||||
|
||||
public void setColor(HashMap<Integer, Short> durabilityList){
|
||||
int i = 0;
|
||||
for(Integer id : plattenIDs){
|
||||
ArmorStandPacket as = manager.getArmorStandPacketByID(id);
|
||||
|
||||
ItemStack is = as.getInventory().getHelmet();
|
||||
is.setDurability(durabilityList.get(i));
|
||||
as.getInventory().setHelmet(is);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
public HashMap<Integer, Short> getColor(){
|
||||
HashMap<Integer, Short> colorList = new HashMap<Integer, Short>();
|
||||
Integer i = 0;
|
||||
|
||||
for(Integer id : plattenIDs){
|
||||
try{i=colorList.size();}catch(Exception e){return colorList;}
|
||||
ArmorStandPacket as = manager.getArmorStandPacketByID(id);
|
||||
colorList.put(i, as.getInventory().getHelmet().getDurability());
|
||||
}
|
||||
return colorList;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(final FurnitureBreakEvent e){
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
for(Integer id : tellerIDs){
|
||||
ArmorStandPacket asp = manager.getArmorStandPacketByID(id);
|
||||
if(asp!=null&&asp.getInventory().getItemInHand()!=null){
|
||||
@ -232,13 +215,14 @@ public class largeTable implements Listener{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
e.remove();
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
@ -296,13 +280,27 @@ public class largeTable implements Listener{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(as!=null&&as.getInventory().getItemInHand()!= null && as.getInventory().getItemInHand().equals(is)){return;}
|
||||
if(as.getInventory().getItemInHand()!=null&&!as.getInventory().getItemInHand().getType().equals(Material.AIR)){
|
||||
ArmorStandPacket asp = as;
|
||||
asp.getLocation().getWorld().dropItem(asp.getLocation(), asp.getInventory().getItemInHand());
|
||||
}
|
||||
as.getInventory().setItemInHand(is);
|
||||
as.update();
|
||||
|
||||
ItemStack IS = is.clone();
|
||||
IS.setAmount(1);
|
||||
as.getInventory().setItemInHand(IS);
|
||||
|
||||
if(!player.getGameMode().equals(GameMode.CREATIVE)){
|
||||
Integer i = player.getInventory().getHeldItemSlot();
|
||||
ItemStack itemstack = is.clone();
|
||||
itemstack.setAmount(itemstack.getAmount()-1);
|
||||
player.getInventory().setItem(i, itemstack);
|
||||
player.updateInventory();
|
||||
}
|
||||
|
||||
manager.updateFurniture(obj);
|
||||
}
|
||||
|
||||
public HashMap<Integer, ItemStack> getTeller(){
|
||||
|
@ -49,7 +49,6 @@ public class sofa implements Listener {
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -102,12 +101,19 @@ public class sofa implements Listener {
|
||||
carpetHight = lutil.getRelativ(carpetHight, b, .25,.3);
|
||||
Double d = .02;
|
||||
float facing = lutil.FaceToYaw(b);
|
||||
Integer j = 0;
|
||||
for(Double i = .0; i<=lengt; i+=0.65){
|
||||
Location carpet = lutil.getRelativ(carpetHight, b, place,(double) d);
|
||||
carpet.setYaw(facing);
|
||||
|
||||
String s = "";
|
||||
if(j==0||j==1){s="#SITZPOS:1#";}
|
||||
if(j==2){s="#SITZPOS:2#";}
|
||||
if(j==3||j==4){s="#SITZPOS:3#";}
|
||||
|
||||
asp = manager.createArmorStand(obj, carpet);
|
||||
asp.getInventory().setHelmet(is);
|
||||
asp.setName(s);
|
||||
aspList.add(asp);
|
||||
sitz.add(asp);
|
||||
Location location = lutil.getRelativ(carpetHight, b, place-.25,(double) d);
|
||||
@ -116,9 +122,11 @@ public class sofa implements Listener {
|
||||
asp = manager.createArmorStand(obj, location);
|
||||
asp.setPose(new EulerAngle(1.57, .0, .0), BodyPart.HEAD);
|
||||
asp.getInventory().setHelmet(is);
|
||||
asp.setName(s);
|
||||
aspList.add(asp);
|
||||
if(d<=0D){d = 0.00;}
|
||||
d+=.58;
|
||||
j++;
|
||||
}
|
||||
|
||||
Float yaw1= facing;
|
||||
@ -131,11 +139,13 @@ public class sofa implements Listener {
|
||||
asp = manager.createArmorStand(obj, first.add(0,-.05,0));
|
||||
asp.getInventory().setHelmet(is);
|
||||
asp.setPose(new EulerAngle(1.57, .0, .0), BodyPart.HEAD);
|
||||
asp.setName("#SITZPOS:1#");
|
||||
aspList.add(asp);
|
||||
|
||||
asp = manager.createArmorStand(obj, last.add(0,-.05,0));
|
||||
asp.getInventory().setHelmet(is);
|
||||
asp.setPose(new EulerAngle(1.57, .0, .0), BodyPart.HEAD);
|
||||
asp.setName("#SITZPOS:3#");
|
||||
aspList.add(asp);
|
||||
|
||||
Location start = lutil.getRelativ(looking, b, .45, .55);
|
||||
@ -145,7 +155,7 @@ public class sofa implements Listener {
|
||||
location.setYaw(lutil.FaceToYaw(b));
|
||||
location.add(0,.2,0);
|
||||
asp = manager.createArmorStand(obj, location);
|
||||
asp.setName("#SITZ#");
|
||||
asp.setName("#SITZ" + i + "#");
|
||||
aspList.add(asp);
|
||||
}
|
||||
|
||||
@ -161,6 +171,7 @@ public class sofa implements Listener {
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
@ -170,12 +181,26 @@ public class sofa implements Listener {
|
||||
Material m = Material.CARPET;
|
||||
color(p, canBuild, m);
|
||||
}else{
|
||||
for(ArmorStandPacket packet : manager.getArmorStandPacketByObjectID(obj)){
|
||||
if(packet.getName().equalsIgnoreCase("#SITZ#") && packet.getPessanger() == null){
|
||||
packet.setPessanger(p);
|
||||
packet.update();
|
||||
return;
|
||||
}
|
||||
ArmorStandPacket packet = e.getArmorStandPacket();
|
||||
switch (packet.getName()) {
|
||||
case "#SITZPOS:1#": sit("#SITZ0#", p);break;
|
||||
case "#SITZPOS:2#": sit("#SITZ1#", p);break;
|
||||
case "#SITZPOS:3#": sit("#SITZ2#", p);break;
|
||||
case "#SITZ0#" : sit("#SITZ0#", p);break;
|
||||
case "#SITZ1#" : sit("#SITZ1#", p);break;
|
||||
case "#SITZ2#" : sit("#SITZ2#", p);break;
|
||||
default: sit("#SITZ0#", p);break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void sit(String s, Player p){
|
||||
for(ArmorStandPacket packet : manager.getArmorStandPacketByObjectID(obj)){
|
||||
if(packet.getName().equalsIgnoreCase(s) && packet.getPessanger() == null){
|
||||
packet.setPessanger(p);
|
||||
packet.update();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -210,16 +235,22 @@ public class sofa implements Listener {
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
for(ArmorStandPacket packet : manager.getArmorStandPacketByObjectID(obj)){
|
||||
if(packet.getPessanger()!=null){
|
||||
packet.unleash();
|
||||
packet.update();
|
||||
}
|
||||
}
|
||||
e.remove();
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
}
|
||||
|
@ -49,7 +49,6 @@ public class table implements Listener {
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -71,11 +70,13 @@ public class table implements Listener {
|
||||
asp = manager.createArmorStand(obj, middle2.add(0,-1.05,0));
|
||||
asp.getInventory().setHelmet(new ItemStack(Material.TRAP_DOOR));
|
||||
packetL.add(asp);
|
||||
asp = manager.createArmorStand(obj, l.add(.9,0.15,0.3));
|
||||
Location locatio = l.clone().add(0.9,0.15,0.3);
|
||||
asp = manager.createArmorStand(obj, locatio);
|
||||
asp.setName("#ITEM#");
|
||||
asp.setPose(new EulerAngle(.0,.0,.0), BodyPart.RIGHT_ARM);
|
||||
asp.setPose(new EulerAngle(0.0,0.0,0.0), BodyPart.RIGHT_ARM);
|
||||
packetL.add(asp);
|
||||
asp = manager.createArmorStand(obj, l.add(0,-.65,.68));
|
||||
locatio = locatio.clone().add(0,-0.65,0.68);
|
||||
asp = manager.createArmorStand(obj, locatio);
|
||||
asp.getInventory().setItemInHand(new ItemStack(Material.STICK));
|
||||
asp.setPose(new EulerAngle(1.38,.0,.0), BodyPart.RIGHT_ARM);
|
||||
packetL.add(asp);
|
||||
@ -91,11 +92,17 @@ public class table implements Listener {
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
for(ArmorStandPacket packet : manager.getArmorStandPacketByObjectID(obj)){
|
||||
if(packet.getName().equalsIgnoreCase("#ITEM#")){
|
||||
if(packet.getInventory().getItemInHand()!=null&&!packet.getInventory().getItemInHand().getType().equals(Material.AIR)){
|
||||
@ -104,13 +111,14 @@ public class table implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
e.remove();
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
@ -135,10 +143,9 @@ public class table implements Listener {
|
||||
}
|
||||
|
||||
packet.getInventory().setItemInHand(Itemstack);
|
||||
|
||||
packet.update();
|
||||
return;
|
||||
break;
|
||||
}
|
||||
}
|
||||
manager.updateFurniture(obj);
|
||||
}
|
||||
}
|
||||
|
@ -51,7 +51,6 @@ public class barrels implements Listener {
|
||||
this.obj = id;
|
||||
this.block = loc.getBlock();
|
||||
this.block.setType(Material.CAULDRON);
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -73,6 +72,7 @@ public class barrels implements Listener {
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
@ -87,12 +87,14 @@ public class barrels implements Listener {
|
||||
|
||||
packet.getInventory().setHelmet(p.getItemInHand());
|
||||
|
||||
packet.update();
|
||||
manager.updateFurniture(obj);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onInteract(PlayerInteractEvent e){
|
||||
if(block==null){return;}
|
||||
if(obj==null){return;}
|
||||
if(block==null || obj==null){return;}
|
||||
if(e.getClickedBlock()==null){return;}
|
||||
if(!e.getClickedBlock().getLocation().equals(block.getLocation())){return;}
|
||||
if(!e.getAction().equals(Action.RIGHT_CLICK_BLOCK)){return;}
|
||||
if(!lib.canBuild(e.getPlayer(), e.getClickedBlock().getLocation(), Material.CAULDRON)){return;}
|
||||
@ -117,15 +119,20 @@ public class barrels implements Listener {
|
||||
|
||||
packet.getInventory().setHelmet(Itemstack);
|
||||
|
||||
packet.update();
|
||||
manager.updateFurniture(obj);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBlockBreak(BlockBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(block==null){return;}
|
||||
if(!e.getBlock().getLocation().equals(block.getLocation())){return;}
|
||||
if(!lib.canBuild(e.getPlayer(), e.getBlock().getLocation(), Material.CAULDRON)){return;}
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
ArmorStandPacket packet = manager.getArmorStandPacketByObjectID(obj).get(0);
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
if(packet.getInventory().getHelmet()!=null&&!packet.getInventory().getHelmet().getType().equals(Material.AIR)){
|
||||
ItemStack is = packet.getInventory().getHelmet();
|
||||
w.dropItem(loc, is);
|
||||
@ -139,10 +146,16 @@ public class barrels implements Listener {
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
e.remove();
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
block.setType(Material.AIR);
|
||||
|
@ -3,6 +3,7 @@ package de.Ste3et_C0st.Furniture.Objects.outdoor;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
@ -44,7 +45,6 @@ public class campfire_1 implements Listener{
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -55,15 +55,22 @@ public class campfire_1 implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
manager.remove(obj);
|
||||
e.remove();
|
||||
obj=null;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
@ -73,7 +80,7 @@ public class campfire_1 implements Listener{
|
||||
if(is.getType().equals(Material.WATER_BUCKET)){
|
||||
for(ArmorStandPacket packet : aspList){
|
||||
packet.setFire(false);
|
||||
Location location = this.loc;
|
||||
Location location = this.loc.clone();
|
||||
location.add(0, 1.2, 0);
|
||||
lib.getLightManager().removeLight(location);
|
||||
}
|
||||
@ -81,7 +88,7 @@ public class campfire_1 implements Listener{
|
||||
}else if(is.getType().equals(Material.FLINT_AND_STEEL)){
|
||||
for(ArmorStandPacket packet : aspList){
|
||||
packet.setFire(true);
|
||||
Location location = this.loc;
|
||||
Location location = this.loc.clone();
|
||||
location.add(0, 1.2, 0);
|
||||
lib.getLightManager().addLight(location,15);
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ 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.World;
|
||||
@ -90,7 +91,6 @@ public class campfire_2 implements Listener{
|
||||
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -175,6 +175,7 @@ public class campfire_2 implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
@ -210,16 +211,22 @@ public class campfire_2 implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
if(isRunning()){
|
||||
Bukkit.getScheduler().cancelTask(timer);
|
||||
timer=null;
|
||||
w.dropItem(middle.clone().add(0, .5, 0), is);
|
||||
}
|
||||
manager.remove(obj);
|
||||
e.remove();
|
||||
obj=null;
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,6 @@ public class tent_1 implements Listener{
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
setblock();
|
||||
this.manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -259,17 +258,24 @@ public class tent_1 implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
block.setType(Material.AIR);
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
e.remove();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
@ -285,9 +291,13 @@ public class tent_1 implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBlockBreak(BlockBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!lib.canBuild(e.getPlayer(), loc, null)){return;}
|
||||
if(obj==null){return;}
|
||||
if(this.block!=null&&e.getBlock().equals(block)){this.block.setType(Material.AIR);this.block=null;}
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
}
|
||||
|
@ -59,8 +59,19 @@ public class tent_2 implements Listener{
|
||||
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
setBlock();
|
||||
this.manager.send(obj);
|
||||
|
||||
Bukkit.broadcastMessage(b.name());
|
||||
|
||||
Location loca = loc.clone();
|
||||
|
||||
switch (b) {
|
||||
case NORTH: loca=lutil.getRelativ(loca, b, -1D, -1D); break;
|
||||
case EAST: loca=lutil.getRelativ(loca, b, 0D, -1D); break;
|
||||
case WEST: loca=lutil.getRelativ(loca, b, -1D, 0D); break;
|
||||
default:break;
|
||||
}
|
||||
|
||||
setBlock(loca);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -130,36 +141,40 @@ public class tent_2 implements Listener{
|
||||
packet.setInvisible(true);
|
||||
packet.setGravity(false);
|
||||
}
|
||||
setBlock();
|
||||
setBlock(this.loc);
|
||||
manager.send(obj);
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void setBlock(){
|
||||
Location loc = this.loc.clone();
|
||||
public void setBlock(Location loc){
|
||||
Location b1 = lutil.getRelativ(loc, b, 1D, -2D).add(0, 0, 0);
|
||||
Location b2 = lutil.getRelativ(loc, b, 2D, -3D).add(0, 0, 0);
|
||||
b2.setYaw(lutil.FaceToYaw(b));
|
||||
b2.getBlock().setType(Material.CHEST);
|
||||
BlockState chest = b2.getBlock().getState();
|
||||
switch (b){
|
||||
|
||||
case SOUTH:
|
||||
chest.setRawData((byte) 0x3);break;
|
||||
|
||||
case NORTH:
|
||||
chest.setRawData((byte) 0x2);break;
|
||||
|
||||
case EAST:
|
||||
chest.setRawData((byte) 0x5);break;
|
||||
|
||||
case WEST:
|
||||
chest.setRawData((byte) 0x4);break;
|
||||
default: chest.setRawData((byte) 0x3);break;
|
||||
|
||||
}
|
||||
chest.update(true, true);
|
||||
if(!b2.getBlock().getType().equals(Material.CHEST)){
|
||||
b2.setYaw(lutil.FaceToYaw(b));
|
||||
b2.getBlock().setType(Material.CHEST);
|
||||
BlockState chest = b2.getBlock().getState();
|
||||
switch (b){
|
||||
|
||||
case SOUTH:
|
||||
chest.setRawData((byte) 0x3);break;
|
||||
|
||||
case NORTH:
|
||||
chest.setRawData((byte) 0x2);break;
|
||||
|
||||
case EAST:
|
||||
chest.setRawData((byte) 0x5);break;
|
||||
|
||||
case WEST:
|
||||
chest.setRawData((byte) 0x4);break;
|
||||
default: chest.setRawData((byte) 0x3);break;
|
||||
|
||||
}
|
||||
chest.update(true, true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
bedLoc = lutil.setBed(this.b, b1);
|
||||
|
||||
block.add(b1.getWorld().getBlockAt(b1));
|
||||
@ -182,19 +197,26 @@ public class tent_2 implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
for(Block bl : block){
|
||||
bl.setType(Material.AIR);
|
||||
}
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
e.remove();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(final FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
|
@ -54,7 +54,7 @@ public class tent_3 implements Listener{
|
||||
this.plugin = plugin;
|
||||
if(id!=null){
|
||||
this.obj = id;
|
||||
this.manager.send(obj);
|
||||
setBlock();
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
return;
|
||||
}else{
|
||||
@ -154,7 +154,7 @@ public class tent_3 implements Listener{
|
||||
as.setName("#SITZ#");
|
||||
aspL.add(as);
|
||||
|
||||
bed = lutil.setHalfBed(b, lutil.getRelativ(sit.add(0,-2,0).getBlock().getLocation().add(0,2,0), b, 2D, 0D));
|
||||
setBlock();
|
||||
|
||||
for(ArmorStandPacket packet : aspL){
|
||||
packet.setInvisible(true);
|
||||
@ -165,19 +165,32 @@ public class tent_3 implements Listener{
|
||||
Bukkit.getPluginManager().registerEvents(this, plugin);
|
||||
}
|
||||
|
||||
private void setBlock(){
|
||||
Location sit = lutil.getCenter(loc);
|
||||
sit.setYaw(lutil.FaceToYaw(this.b.getOppositeFace()));
|
||||
bed = lutil.setHalfBed(b, lutil.getRelativ(sit.add(0,-2,0).getBlock().getLocation().add(0,2,0), b, 2D, 0D));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBreak(FurnitureBreakEvent e){
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.canBuild(null)){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
if(obj==null){return;}
|
||||
e.setCancelled(true);
|
||||
if(!e.getPlayer().getGameMode().equals(GameMode.CREATIVE)){
|
||||
w.dropItem(loc.add(0,1,0), manager.getProject(obj.getProject()).getCraftingFile().getRecipe().getResult());
|
||||
}
|
||||
main.deleteEffect(manager.getArmorStandPacketByObjectID(obj));
|
||||
bed.setType(Material.AIR);
|
||||
manager.remove(obj);
|
||||
obj=null;
|
||||
e.remove();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(FurnitureClickEvent e){
|
||||
if(obj==null){return;}
|
||||
if(e.isCancelled()){return;}
|
||||
if(!e.getID().equals(obj)){return;}
|
||||
e.setCancelled(true);
|
||||
|
@ -1,5 +1,5 @@
|
||||
name: DefaultFurniture
|
||||
version: 0.1
|
||||
name: DiceFurniture
|
||||
version: 2.0.6
|
||||
description: Furniture
|
||||
author: Ste3et_C0st
|
||||
website: http://dicecraft.de
|
||||
|
Loading…
Reference in New Issue
Block a user