mirror of https://github.com/Ste3et/furniture.git
Update
This commit is contained in:
parent
e79674efcc
commit
0a4155a2d6
|
@ -5,5 +5,6 @@
|
|||
<classpathentry kind="lib" path="C:/Plugins/jars/FurnitureLib.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Plugins/jars/PostalService-1.0.6.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Plugins/jars/spigot.jar"/>
|
||||
<classpathentry kind="lib" path="C:/Plugins/jars/ProtocolLib.jar"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
|
|
@ -5,7 +5,7 @@ AdventCalender:
|
|||
glow: true
|
||||
lore: ''
|
||||
crafting:
|
||||
disable: false
|
||||
disable: true
|
||||
recipe: XXX,XEX,AXA
|
||||
index:
|
||||
E: 126
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
Log:
|
||||
system-ID: 'Log'
|
||||
name: '&cLog'
|
||||
material: 383
|
||||
glow: false
|
||||
lore: ''
|
||||
crafting:
|
||||
disable: false
|
||||
recipe: XXX,XAX,XOX
|
||||
index:
|
||||
X: 0
|
||||
A: 389
|
||||
O: 17
|
|
@ -0,0 +1,27 @@
|
|||
log_copy:
|
||||
system-ID: 'Log'
|
||||
name: '&cLog'
|
||||
creator: ff5f37d0-c1ea-4736-b6c3-ebbfdd67a810
|
||||
material: 383
|
||||
glow: false
|
||||
lore: ''
|
||||
PlaceAbleSide: TOP
|
||||
crafting:
|
||||
disable: false
|
||||
recipe: XXX,XAX,XOX
|
||||
index:
|
||||
X: 0
|
||||
A: 389
|
||||
O: 17
|
||||
ProjectModels:
|
||||
ArmorStands:
|
||||
'0': H4sIAAAAAAAAAI1RsU7DMBC9Kknrhh9gZkdiYA9p6ySVmqRqKmi6VAa5VYSTSEloxScwMtKf6cYXIFbYmdmxG7sKQghueu/d3fPd2QTQ4CggKb1MyuSaUQBoadDtkZKOGakE5xVGlBLGaqw7SSFl3S7SsobdYbZuOrR9UtzSok52XJZvkmwlmAkmvmO0sLMVoyagEXamixF229Ca7R7f3JOXiwXHMcjgeK503qx72B6I2kb+W63CoLztib/3fr46/ngYr394S11498JB/E/v7mToegdz6/NJxPbvBrmp9cumSt938JPSrMqLewRG38PRFPQgDDCqj6BIJ3Qczw4OHPn2MGgKOn8zOhAHY+kDnImfh9aZuFV+Q6okz9qAZqfhclnSave6FMEHQ3MlvatZUSwlS0oGaDHZ9M8F/gJD9mIfVwIAAA==
|
||||
'1': H4sIAAAAAAAAAI2RvU7DMBSFb5WkTcMLMLN3QGJgC2nr/EhNUiUVNF0qg9wqwk2kJLTiERh5oqoLMwNihYmFl8Bu7KgIIfB0zmff4+trA0CBowCvyGVapteUAHDS7eOSjCmuhNfiFaa01qqdFgKrVrEqRYWXrZuElgJtHxe3pKg3Ow7NN2m25M4AA91RUljZkhID9BGyJ/MRctrQmm4f35yTl4s50wmIxfRMclasusga8rMH+9/OSg0y24r8ffbT1fHnw3j9I1twnt0Ph8k/s7uR57hNuPm8i857Jfm7QLzU/OWlku8r2EhJVuXFvQ7awEXxBNQgDJBeD0GaTmjbrhU0XvctLzgEKrszboyNkMgB5vjPQ+uUzyq/wVWaZ23Qp71wsShJtX1d8MUa02cCmR8NSiR6r9vXQEnwZnDG9RdgNVz5VwIAAA==
|
||||
'2': H4sIAAAAAAAAAI1RwU7CQBAdQoGl/oBn71yMB2+4wLYlgZa0RCkXspotady2SVshfoJHv4h48aQ341XuXv0Ad+m2YozROb33ZubtzKwOUIcDm0bsPMzCS84ApNLu0YxNOM0Vb3gR5bzAmhGmStZwGmWqYxivKodaHZpjml6ztEi2TJ6sw3gpmQ46ueEsxfGSMx3QiBjTxYiYTajNNvdv5tHL2UJgH1QIPC910axZBA9k7V7+W22JofTG7njn/Xhx+H43Wf3wVrr07jkD/5/ebXdoWl/m2wf3tJOxvxvUpt1fNi31XYc4KYvzJL1F0OhbxJuCZjs2QcURStJyDMPCdsXRGA/tfUETb3oVMQhRPiCY/HmoHctbJVc0D5O4CWjWcYIgY/nmNZAhBkNzJXU/nkQ8S8kvq7bF+A2o+3TdP5H4EylzY6tXAgAA
|
||||
Block:
|
||||
'0':
|
||||
X-Offset: 0.0
|
||||
Y-Offset: 0.0
|
||||
Z-Offset: 0.0
|
||||
Type: LOG
|
||||
Data: 0
|
|
@ -67,4 +67,22 @@ MaterialData:
|
|||
- HAY_BLOCK
|
||||
- HARD_CLAY
|
||||
- COAL_BLOCK
|
||||
- PACKED_ICE
|
||||
- PACKED_ICE
|
||||
- WHITE_GLAZED_TERRACOTTA
|
||||
- ORANGE_GLAZED_TERRACOTTA
|
||||
- MAGENTA_GLAZED_TERRACOTTA
|
||||
- LIGHT_BLUE_GLAZED_TERRACOTTA
|
||||
- YELLOW_GLAZED_TERRACOTTA
|
||||
- LIME_GLAZED_TERRACOTTA
|
||||
- PINK_GLAZED_TERRACOTTA
|
||||
- GRAY_GLAZED_TERRACOTTA
|
||||
- SILVER_GLAZED_TERRACOTTA
|
||||
- CYAN_GLAZED_TERRACOTTA
|
||||
- PURPLE_GLAZED_TERRACOTTA
|
||||
- BLUE_GLAZED_TERRACOTTA
|
||||
- BROWN_GLAZED_TERRACOTTA
|
||||
- GREEN_GLAZED_TERRACOTTA
|
||||
- RED_GLAZED_TERRACOTTA
|
||||
- BLACK_GLAZED_TERRACOTTA
|
||||
- CONCRETE
|
||||
- CONCRETE_POWDER
|
|
@ -1,10 +1,10 @@
|
|||
package de.Ste3et_C0st.Furniture.Camera.Utils;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import org.apache.commons.lang.reflect.MethodUtils;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
|
@ -39,6 +39,7 @@ public class GetBlocks {
|
|||
}
|
||||
return layerList;
|
||||
}catch(Exception ex){
|
||||
ex.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -46,16 +47,16 @@ public class GetBlocks {
|
|||
public Byte getByteFromBlock(Block b){
|
||||
try {
|
||||
Object o = CraftMagicNumbersClass.getMethod("getBlock", org.bukkit.block.Block.class).invoke(null, b);
|
||||
Object o2 = o.getClass().getMethod("getBlockData").invoke(o);
|
||||
Method g = o2.getClass().getMethod("g");
|
||||
g.setAccessible(true);
|
||||
Object o3 = g.invoke(o2);
|
||||
int color = o3.getClass().getField("M").getInt(o3) * 4 + 0;
|
||||
if(color == 28){
|
||||
color += randInt(0, 3);
|
||||
}
|
||||
Object iBlockData = o.getClass().getMethod("getBlockData").invoke(o);
|
||||
Object Material = MethodUtils.invokeMethod(iBlockData, "getMaterial", null);
|
||||
Object MaterialMapColor = MethodUtils.invokeMethod(Material, "r", null);
|
||||
int color = MaterialMapColor.getClass().getField("ad").getInt(MaterialMapColor) * 4;
|
||||
// if(color == 28){
|
||||
// color += randInt(0, 3);
|
||||
// }
|
||||
return (byte) color;
|
||||
} catch (Exception e) {
|
||||
//e.printStackTrace();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,8 +77,12 @@ public class RenderClass extends MapRenderer {
|
|||
for(Pixel p : l.getPixelList()){
|
||||
Byte b = p.getColor();
|
||||
if(b == 0) continue;
|
||||
Color c = MapPalette.getColor(p.getColor());
|
||||
image.setRGB(p.getX(), p.getZ(), c.getRGB());
|
||||
try{
|
||||
Color c = MapPalette.getColor(p.getColor());
|
||||
image.setRGB(p.getX(), p.getZ(), c.getRGB());
|
||||
}catch(Exception ex){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,281 @@
|
|||
package de.Ste3et_C0st.Furniture.Main;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.ArmorStand;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import de.Ste3et_C0st.FurnitureLib.Crafting.Project;
|
||||
import de.Ste3et_C0st.FurnitureLib.ShematicLoader.Events.ProjectBreakEvent;
|
||||
import de.Ste3et_C0st.FurnitureLib.ShematicLoader.Events.ProjectClickEvent;
|
||||
import de.Ste3et_C0st.FurnitureLib.Utilitis.HiddenStringUtils;
|
||||
import de.Ste3et_C0st.FurnitureLib.Utilitis.ManageInv;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.FurnitureHelper;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.FurnitureLib;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.ObjectID;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.Type.SQLAction;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.entity.fEntity;
|
||||
|
||||
public class Log extends FurnitureHelper implements Listener{
|
||||
|
||||
private int mode = 0;
|
||||
private Inventory inv = Bukkit.createInventory(null, 9, "§2Settings");
|
||||
private ItemStack pane = new ItemStack(Material.STAINED_GLASS_PANE);
|
||||
private ItemStack permissions = new ItemStack(Material.ARROW);
|
||||
private Player p;
|
||||
private List<ItemStack> isList = new ArrayList<ItemStack>();
|
||||
|
||||
public Log(ObjectID id) {
|
||||
super(id);
|
||||
Bukkit.getPluginManager().registerEvents(this, main.instance);
|
||||
setList();
|
||||
for(fEntity entity : getObjID().getPacketList()){
|
||||
entity.setNameVasibility(false);
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBlockBreak(ProjectBreakEvent e){
|
||||
if(e.getID() == null || getObjID() == null) return;
|
||||
if(!e.getID().equals(getObjID())){return;}
|
||||
if(!e.canBuild()){return;}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@EventHandler
|
||||
private void onBlockBreak(ProjectClickEvent e){
|
||||
if(e.getID() == null || getObjID() == null) return;
|
||||
if(!e.getID().equals(getObjID())){return;}
|
||||
if(!e.canBuild()){return;}
|
||||
if(e.getPlayer().isSneaking()){
|
||||
if(e.getPlayer().getInventory().getItemInMainHand().getType().isBlock()&&
|
||||
!e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.AIR)){
|
||||
e.setCancelled(false);
|
||||
return;
|
||||
}
|
||||
openInventory(e.getPlayer());
|
||||
}else{
|
||||
if(e.getPlayer().getInventory().getItemInMainHand().getType().isBlock() && !e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.AIR)){
|
||||
getCenter().getBlock().setType(e.getPlayer().getInventory().getItemInMainHand().getType());
|
||||
getCenter().getBlock().setData((byte) e.getPlayer().getInventory().getItemInMainHand().getDurability());
|
||||
removeItem(e.getPlayer());
|
||||
return;
|
||||
}else if(!e.getPlayer().getInventory().getItemInMainHand().getType().isBlock() && !e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.AIR)){
|
||||
fEntity stand = null;
|
||||
if(getProjectByItem(e.getPlayer().getInventory().getItemInMainHand()) != null){return;}
|
||||
for(fEntity s : getObjID().getPacketList()){
|
||||
if(s.getName().equalsIgnoreCase(mode+"")){
|
||||
stand = s;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(stand==null){return;}
|
||||
if(stand.getInventory().getItemInMainHand()!=null&&!stand.getInventory().getItemInMainHand().getType().equals(Material.AIR)){
|
||||
if(e.getPlayer().getInventory().getItemInMainHand()!=null){
|
||||
if(e.getPlayer().getInventory().getItemInMainHand().equals(stand.getItemInMainHand())){
|
||||
return;
|
||||
}
|
||||
}
|
||||
ItemStack is = stand.getInventory().getItemInMainHand();
|
||||
is.setAmount(1);
|
||||
getWorld().dropItem(getLocation(), is);
|
||||
}
|
||||
|
||||
ItemStack is = e.getPlayer().getInventory().getItemInMainHand().clone();
|
||||
is.setAmount(1);
|
||||
stand.setItemInHand(is);
|
||||
update();
|
||||
removeItem(e.getPlayer());
|
||||
return;
|
||||
}else{
|
||||
fEntity stand = null;
|
||||
for(fEntity s : getObjID().getPacketList()){
|
||||
if(s.getName().equalsIgnoreCase(mode+"")){
|
||||
stand = s;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(stand==null){return;}
|
||||
|
||||
if(stand.getInventory().getItemInMainHand()!=null&&!stand.getInventory().getItemInMainHand().getType().equals(Material.AIR)){
|
||||
for(fEntity s : getObjID().getPacketList()){
|
||||
if(s.getName().equalsIgnoreCase(mode+"")){
|
||||
stand = s;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ItemStack is = stand.getInventory().getItemInMainHand();
|
||||
is.setAmount(1);
|
||||
getWorld().dropItem(getLocation(), is);
|
||||
}
|
||||
|
||||
stand.setItemInHand(new ItemStack(Material.AIR));
|
||||
update();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setList(){
|
||||
ItemStack stack = new ItemStack(Material.BANNER);
|
||||
stack.setDurability((short) 1);
|
||||
ItemMeta meta = stack.getItemMeta();
|
||||
meta.setDisplayName("§6Mode: §cTop");
|
||||
stack.setItemMeta(meta);
|
||||
isList.add(stack);
|
||||
stack = new ItemStack(Material.BANNER);
|
||||
stack.setDurability((short) 2);
|
||||
meta = stack.getItemMeta();
|
||||
meta.setDisplayName("§6Mode: §cFront I");
|
||||
stack.setItemMeta(meta);
|
||||
isList.add(stack);
|
||||
stack = new ItemStack(Material.BANNER);
|
||||
stack.setDurability((short) 11);
|
||||
meta = stack.getItemMeta();
|
||||
meta.setDisplayName("§6Mode: §cFront II");
|
||||
stack.setItemMeta(meta);
|
||||
isList.add(stack);
|
||||
|
||||
meta = permissions.getItemMeta();
|
||||
meta.setDisplayName("§cChange Permissions (Owner Only)");
|
||||
permissions.setItemMeta(meta);
|
||||
}
|
||||
|
||||
private Project getProjectByItem(ItemStack is){
|
||||
ItemStack stack = is.clone();
|
||||
if(stack==null) return null;
|
||||
String systemID = "";
|
||||
if(stack.hasItemMeta()){
|
||||
if(stack.getItemMeta().hasLore()){
|
||||
List<String> s = stack.getItemMeta().getLore();
|
||||
if(HiddenStringUtils.hasHiddenString(s.get(0))) systemID = HiddenStringUtils.extractHiddenString(s.get(0));
|
||||
}
|
||||
}
|
||||
|
||||
for(Project pro : FurnitureLib.getInstance().getFurnitureManager().getProjects()){
|
||||
if(pro==null) continue;
|
||||
if(pro.getSystemID()==null) continue;
|
||||
if(pro.getSystemID().equalsIgnoreCase(systemID)){
|
||||
return pro;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void removeItem(Player p){
|
||||
Boolean useGameMode = FurnitureLib.getInstance().useGamemode();
|
||||
if(useGameMode&&p.getGameMode().equals(GameMode.CREATIVE)){return;}
|
||||
Integer slot = p.getInventory().getHeldItemSlot();
|
||||
ItemStack itemStack = p.getInventory().getItemInMainHand().clone();
|
||||
itemStack.setAmount(itemStack.getAmount()-1);
|
||||
p.getInventory().setItem(slot, itemStack);
|
||||
p.updateInventory();
|
||||
}
|
||||
|
||||
private void openInventory(Player p){
|
||||
if(this.p !=null) return;
|
||||
this.p = p;
|
||||
inv.clear();
|
||||
int j = mode;
|
||||
for(int i = 0; i<inv.getSize();i++){
|
||||
if(i==2){
|
||||
inv.addItem(isList.get(j));
|
||||
continue;
|
||||
}else if(i==6){
|
||||
inv.addItem(permissions);
|
||||
continue;
|
||||
}
|
||||
inv.setItem(i,pane);
|
||||
}
|
||||
p.openInventory(inv);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onClick(InventoryClickEvent e){
|
||||
if(getObjID()==null){return;}
|
||||
if(getObjID().getSQLAction().equals(SQLAction.REMOVE)){return;}
|
||||
if(e.getClickedInventory()==null||!e.getClickedInventory().equals(inv)){return;}
|
||||
e.setCancelled(true);
|
||||
if(e.getCurrentItem()==null){return;}
|
||||
if(e.getCurrentItem().getType().equals(Material.BANNER)){
|
||||
Integer i = isList.indexOf(e.getCurrentItem());
|
||||
ItemStack is = null;
|
||||
if(i>=2){i = -1;}
|
||||
i++;
|
||||
is = isList.get(i);
|
||||
mode = i;
|
||||
modeSwitch(e.getCurrentItem().getDurability());
|
||||
inv.setItem(e.getSlot(), is);
|
||||
p.updateInventory();
|
||||
}else if(e.getCurrentItem().getType().equals(Material.ARROW)){
|
||||
if(!getObjID().getUUID().equals(p.getUniqueId())){
|
||||
if(!getLib().getPermission().hasPerm(p, "furniture.admin") && !p.isOp() && !getLib().getPermission().hasPerm(p, "furniture.manage.other")){
|
||||
return;
|
||||
}
|
||||
}
|
||||
p.closeInventory();
|
||||
new ManageInv((Player) e.getWhoClicked(), getObjID());
|
||||
}
|
||||
}
|
||||
|
||||
public void modeSwitch(short dura){
|
||||
int oldArmorStand = 0;
|
||||
int currentArmorStand = 0;
|
||||
|
||||
switch (dura) {
|
||||
case 1:
|
||||
oldArmorStand = 0;
|
||||
currentArmorStand = 1;
|
||||
break;
|
||||
case 2:
|
||||
oldArmorStand = 1;
|
||||
currentArmorStand = 2;
|
||||
break;
|
||||
case 11:
|
||||
oldArmorStand = 2;
|
||||
currentArmorStand = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
fEntity standOld = null;
|
||||
fEntity standCurrent = null;
|
||||
for(fEntity s : getObjID().getPacketList()){
|
||||
if(s.getName().equalsIgnoreCase(oldArmorStand+"")){
|
||||
standOld=s;
|
||||
}else if(s.getName().equalsIgnoreCase(currentArmorStand+"")){
|
||||
standCurrent=s;
|
||||
}
|
||||
}
|
||||
|
||||
if(standOld!=null&&standCurrent!=null){
|
||||
standCurrent.setItemInMainHand(standOld.getItemInMainHand());
|
||||
standOld.setItemInMainHand(new ItemStack(Material.AIR));
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onClose(InventoryCloseEvent e){
|
||||
if(getObjID()==null){return;}
|
||||
if(getObjID().getSQLAction().equals(SQLAction.REMOVE)){return;}
|
||||
if(e.getInventory()==null){return;}
|
||||
if(e.getInventory().equals(inv)){this.p = null;}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,5 +1,9 @@
|
|||
package de.Ste3et_C0st.Furniture.Main;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
@ -27,6 +31,7 @@ import de.Ste3et_C0st.Furniture.Objects.electric.camera;
|
|||
import de.Ste3et_C0st.Furniture.Objects.electric.streetlamp;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.TFlowerPot;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.Trunk;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.config;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.fance;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.graveStone;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.log;
|
||||
|
@ -82,7 +87,6 @@ public class main extends JavaPlugin implements Listener{
|
|||
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("Log", this, getResource("Crafting/log.yml"), PlaceableSide.TOP, log.class).setSize(1, 1, 1, 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);
|
||||
|
@ -120,8 +124,10 @@ public class main extends JavaPlugin implements Listener{
|
|||
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(true);
|
||||
new Project("Sofa", this, getResource("Models/Sofa.yml")).setSize(1, 1, 3, CenterType.RIGHT).setEditorProject(true);
|
||||
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");
|
||||
|
@ -141,14 +147,24 @@ public class main extends JavaPlugin implements Listener{
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void addDefault(String a, String b, String d){
|
||||
c = new config();
|
||||
this.file = c.getConfig(b, "plugin/"+a+"/");
|
||||
this.file.addDefaults(YamlConfiguration.loadConfiguration(getResource(d)));
|
||||
this.file.addDefaults(YamlConfiguration.loadConfiguration(loadStream(d)));
|
||||
this.file.options().copyDefaults(true);
|
||||
this.c.saveConfig(b, this.file, "plugin/"+a+"/");
|
||||
}
|
||||
|
||||
public BufferedReader loadStream(String str){
|
||||
if(!str.startsWith("/")) str = "/" + str;
|
||||
InputStream stream = getInstance().getClass().getResourceAsStream(str);
|
||||
try {
|
||||
return new BufferedReader(new InputStreamReader(stream, "UTF-8"));
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void setDefaults_2(){
|
||||
c = new config();
|
||||
|
@ -203,6 +219,7 @@ public class main extends JavaPlugin implements Listener{
|
|||
case "Tent1": new tent_1(id);break;
|
||||
case "GraveStone": new graveStone(id);break;
|
||||
case "Camera": new camera(id);break;
|
||||
case "Log": new Log(id);break;
|
||||
default:break;
|
||||
}
|
||||
}
|
||||
|
@ -227,6 +244,7 @@ public class main extends JavaPlugin implements Listener{
|
|||
case "Tent1": new tent_1(event.getID());break;
|
||||
case "GraveStone": new graveStone(event.getID());break;
|
||||
case "Camera": new camera(event.getID());break;
|
||||
case "Log": new Log(event.getID());break;
|
||||
default:break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,10 +81,10 @@ public class Crossbow extends FurnitureHelper implements Listener {
|
|||
}
|
||||
|
||||
public Vector getLaunchVector(BlockFace face){
|
||||
int j = random(75, 45), l =random(150, 80);
|
||||
double k = ((double) j / 100), h = ((double) l / 100);
|
||||
int l =random(300, 150);
|
||||
double h = ((double) l / 100);
|
||||
|
||||
Vector v = new Vector(0, k, h);
|
||||
Vector v = new Vector(0, 0, h);
|
||||
switch (face) {
|
||||
case SOUTH:v= new Vector(-v.getY(), v.getY(), -v.getZ());break;
|
||||
case EAST: v= new Vector(-v.getZ(), v.getY(), -v.getY());break;
|
||||
|
|
|
@ -43,7 +43,7 @@ import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
|
|||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
|
||||
import de.Ste3et_C0st.Furniture.Main.config;
|
||||
import de.Ste3et_C0st.Furniture.Objects.garden.config;
|
||||
import de.Ste3et_C0st.FurnitureLib.Events.FurnitureBreakEvent;
|
||||
import de.Ste3et_C0st.FurnitureLib.Events.FurnitureClickEvent;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.Furniture;
|
||||
|
|
|
@ -55,7 +55,7 @@ public class AdventWreath extends Furniture implements Listener {
|
|||
if(e.getID() == null || getObjID() == null) return;
|
||||
if(!e.getID().equals(getObjID())){return;}
|
||||
if(!e.canBuild()){return;}
|
||||
fArmorStand stand = e.getfArmorStand();
|
||||
fArmorStand stand = (fArmorStand) e.getfEntity();
|
||||
String str = stand.getName();
|
||||
if(str.startsWith("Fire") || str.startsWith("Torch")){
|
||||
int i = Integer.parseInt(str.split(":")[1]);
|
||||
|
|
|
@ -6,6 +6,7 @@ import java.util.List;
|
|||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.ItemFrame;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
@ -72,7 +73,7 @@ public class billboard extends Furniture implements Listener{
|
|||
packet.setPose(new EulerAngle(-.17, 0, 0), BodyPart.RIGHT_ARM);
|
||||
asList.add(packet);
|
||||
}
|
||||
|
||||
List<Block> blockLocation = new ArrayList<Block>();
|
||||
for(int x = 0; x<=1;x++){
|
||||
for(int y = 0;y<=2;y++){
|
||||
Location loc = getLutil().getRelativ(location, getBlockFace(),0D,(double) -y-1).add(0, x+1, 0);
|
||||
|
@ -80,9 +81,10 @@ public class billboard extends Furniture implements Listener{
|
|||
loc.getBlock().setType(Material.BARRIER);
|
||||
ItemFrame frame = (ItemFrame) getWorld().spawn(loc2, ItemFrame.class);
|
||||
frame.setFacingDirection(getBlockFace());
|
||||
blockLocation.add(loc.getBlock());
|
||||
}
|
||||
}
|
||||
|
||||
getObjID().addBlock(blockLocation);
|
||||
for(fArmorStand pack : asList){
|
||||
pack.setInvisible(true);
|
||||
pack.setBasePlate(false);
|
||||
|
|
|
@ -107,7 +107,7 @@ public class camera extends FurnitureHelper implements Listener{
|
|||
Location l = getLocation().clone();
|
||||
l.setYaw(getLutil().FaceToYaw(getBlockFace().getOppositeFace()));
|
||||
view.getRenderers().clear();
|
||||
try{view.addRenderer(new RenderClass(l, mode));}catch (Exception ex){}
|
||||
try{view.addRenderer(new RenderClass(l, mode));}catch (Exception ex){ex.printStackTrace();}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package de.Ste3et_C0st.Furniture.Main;
|
||||
package de.Ste3et_C0st.Furniture.Objects.garden;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
|
@ -4,6 +4,7 @@ import java.util.Arrays;
|
|||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
@ -34,7 +35,7 @@ public class fance extends FurnitureHelper implements Listener{
|
|||
@EventHandler
|
||||
public void onClick(ProjectClickEvent e){
|
||||
if(!e.getID().equals(getObjID())){return;}
|
||||
Block b = getWorld().getBlockAt(e.getID().getBlockList().get(0));
|
||||
Block b = getWorld().getBlockAt(getObjID().getBlockList().toArray(new Location[getObjID().getBlockList().size()])[0]);
|
||||
ItemStack stack = e.getPlayer().getInventory().getItemInMainHand();
|
||||
if(stack==null) return;
|
||||
if(stack.getType().equals(Material.AIR)) return;
|
||||
|
|
|
@ -10,6 +10,7 @@ import org.bukkit.block.Block;
|
|||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.block.Sign;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
@ -17,6 +18,7 @@ import org.bukkit.inventory.meta.BookMeta;
|
|||
|
||||
import de.Ste3et_C0st.Furniture.Main.main;
|
||||
import de.Ste3et_C0st.FurnitureLib.ShematicLoader.Events.ProjectBreakEvent;
|
||||
import de.Ste3et_C0st.FurnitureLib.ShematicLoader.Events.ProjectClickEvent;
|
||||
import de.Ste3et_C0st.FurnitureLib.Utilitis.LocationUtil;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.FurnitureHelper;
|
||||
import de.Ste3et_C0st.FurnitureLib.main.ObjectID;
|
||||
|
@ -68,6 +70,20 @@ public class graveStone extends FurnitureHelper implements Listener{
|
|||
sign.setType(Material.AIR);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onBlockClick(ProjectClickEvent e){
|
||||
if(e.getID() == null || getObjID() == null) return;
|
||||
if(!e.getID().equals(getObjID())){return;}
|
||||
if(!e.canBuild()){return;}
|
||||
Player p = e.getPlayer();
|
||||
if(!e.getID().equals(getObjID())) return;
|
||||
if(!e.canBuild()){return;}
|
||||
ItemStack is = p.getInventory().getItemInMainHand();
|
||||
if (is == null) return;
|
||||
if (!is.getType().equals(Material.WRITTEN_BOOK)) return;
|
||||
readFromBook(is);
|
||||
}
|
||||
|
||||
public void resetSign(){
|
||||
Bukkit.getScheduler().scheduleSyncDelayedTask(getPlugin(), new Runnable() {
|
||||
|
|
|
@ -46,13 +46,13 @@ public class log extends Furniture {
|
|||
public log(ObjectID id){
|
||||
super(id);
|
||||
b = getLocation().getBlock();
|
||||
getObjID().addBlock(Arrays.asList(b));
|
||||
ItemMeta meta = pane.getItemMeta();
|
||||
meta.setDisplayName("§c");
|
||||
pane.setItemMeta(meta);
|
||||
pane.setDurability((short) 15);
|
||||
pane.setItemMeta(meta);
|
||||
setList();
|
||||
getObjID().addBlock(Arrays.asList(b));
|
||||
if(isFinish()){
|
||||
Bukkit.getPluginManager().registerEvents(this, main.getInstance());
|
||||
return;
|
||||
|
@ -115,7 +115,7 @@ public class log extends Furniture {
|
|||
lStand.add(stand);
|
||||
|
||||
for(fArmorStand asp : lStand){
|
||||
asp.setInvisible(true);
|
||||
asp.setInvisible(false);
|
||||
asp.setBasePlate(false);
|
||||
asp.setMarker(false);
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ public class log extends Furniture {
|
|||
p.updateInventory();
|
||||
}else if(e.getCurrentItem().getType().equals(Material.ARROW)){
|
||||
if(!getObjID().getUUID().equals(p.getUniqueId())){
|
||||
if(!getLib().hasPerm(p, "furniture.admin") && !p.isOp() && !getLib().hasPerm(p, "furniture.manage.other")){
|
||||
if(!getLib().getPermission().hasPerm(p, "furniture.admin") && !p.isOp() && !getLib().getPermission().hasPerm(p, "furniture.manage.other")){
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ public class WaxCandle extends FurnitureHelper implements Listener{
|
|||
@EventHandler
|
||||
public void onClick(ProjectClickEvent e){
|
||||
if(!e.getID().equals(getObjID())){return;}
|
||||
Block b = getWorld().getBlockAt(e.getID().getBlockList().get(0));
|
||||
Block b = getWorld().getBlockAt(getObjID().getBlockList().toArray(new Location[getObjID().getBlockList().size()])[0]);
|
||||
ItemStack stack = e.getPlayer().getInventory().getItemInMainHand();
|
||||
if(stack==null) return;
|
||||
if(stack.getType().equals(Material.AIR)) return;
|
||||
|
|
|
@ -138,7 +138,7 @@ public class campfire_2 extends Furniture implements Listener{
|
|||
asp.getInventory().setItemInMainHand(new ItemStack(Material.BONE));
|
||||
packetList.add(asp);
|
||||
|
||||
asp = getManager().createArmorStand(getObjID(), middle.add(0,-1.3,0));
|
||||
asp = getManager().createArmorStand(getObjID(), middle.add(0,.1,0));
|
||||
asp.setSmall(true);
|
||||
packetList.add(asp);
|
||||
|
||||
|
@ -187,24 +187,26 @@ public class campfire_2 extends Furniture implements Listener{
|
|||
}
|
||||
|
||||
private void setfire(boolean b){
|
||||
for(fEntity pack : getManager().getfArmorStandByObjectID(getObjID())){
|
||||
if(pack instanceof fArmorStand){
|
||||
fArmorStand stand = (fArmorStand) pack;
|
||||
if(stand.isSmall() && pack.isInvisible()){
|
||||
if((pack.getInventory().getHelmet() == null || pack.getInventory().getHelmet().getType().equals(Material.AIR)) &&
|
||||
(pack.getInventory().getItemInMainHand() == null || pack.getInventory().getItemInMainHand().getType().equals(Material.AIR))){
|
||||
pack.setFire(b);
|
||||
Location loc = middle.clone();
|
||||
loc.add(0, 1.3, 0);
|
||||
if(b) getLib().getLightManager().addLight(loc, 15);
|
||||
if(!b) getLib().getLightManager().removeLight(loc);
|
||||
getManager().updateFurniture(getObjID());
|
||||
return;
|
||||
Location loc = getCenter().clone();
|
||||
loc.add(0, 1.3, 0);
|
||||
if(b){
|
||||
getLib().getLightManager().addLight(loc, 15);
|
||||
}else{
|
||||
getLib().getLightManager().removeLight(loc);
|
||||
}
|
||||
|
||||
for(fEntity entity : getfAsList()){
|
||||
if(entity instanceof fArmorStand){
|
||||
fArmorStand stand = (fArmorStand) entity;
|
||||
if((stand.getInventory().getHelmet() == null || stand.getInventory().getHelmet().getType().equals(Material.AIR)) &&
|
||||
(stand.getInventory().getItemInMainHand() == null || stand.getInventory().getItemInMainHand().getType().equals(Material.AIR))){
|
||||
if(stand.isSmall() && entity.isInvisible()){
|
||||
stand.setFire(b);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
update();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
|
|
@ -157,8 +157,10 @@ public class tent_2 extends Furniture implements Listener{
|
|||
|
||||
bedLoc = getLutil().setBed(this.getBlockFace(), b1);
|
||||
getObjID().addBlock(Arrays.asList(b1.getBlock(), b2.getBlock(), b1.getBlock().getRelative(getLutil().yawToFace(getLutil().FaceToYaw(getBlockFace()) + 180))));
|
||||
block.add(b1.getWorld().getBlockAt(b1));
|
||||
block.add(b1.getWorld().getBlockAt(getRelative(b1, 1, 0)));
|
||||
block.add(b2.getWorld().getBlockAt(b2));
|
||||
block.add(b1.getWorld().getBlockAt(b1));
|
||||
|
||||
}
|
||||
|
||||
public void setRow(Location loc, double x,double y, double z, int replay, EulerAngle angle, List<fArmorStand> list){
|
||||
|
|
|
@ -48,6 +48,7 @@ public class tent_3 extends Furniture implements Listener{
|
|||
|
||||
Block bed;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void spawn(Location loc){
|
||||
List<fArmorStand> aspL = new ArrayList<fArmorStand>();
|
||||
ItemStack banner = new ItemStack(Material.BANNER);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: DiceFurniture
|
||||
version: 3.2.0.5
|
||||
version: 3.2.1.2
|
||||
description: Add some new Objects to the Server
|
||||
author: Ste3et_C0st
|
||||
website: http://dicecraft.de
|
||||
|
|
Loading…
Reference in New Issue