mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2025-02-01 21:11:37 +01:00
Update to fix bugs. Still WIP.
This commit is contained in:
parent
323720598a
commit
01baad3eba
@ -411,6 +411,11 @@ island:
|
||||
To: "Cleared reset limit"
|
||||
Wait: "You have to wait [time] seconds before you can do that again."
|
||||
YouHave: "You have [number] resets left."
|
||||
sign:
|
||||
line0: "Welcome!"
|
||||
line1: "[player]"
|
||||
line2: ""
|
||||
line3: ""
|
||||
subtitle: "by tastybento"
|
||||
subtitlecolor: "blue"
|
||||
teleport: "Teleporting you to your island. (/[label] help for more info)"
|
||||
|
@ -1,11 +1,12 @@
|
||||
package us.tastybento.bskyblock.api.panels;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import us.tastybento.bskyblock.listeners.PanelListener;
|
||||
|
||||
import java.util.Map;
|
||||
import us.tastybento.bskyblock.listeners.PanelListener;
|
||||
|
||||
public class Panel {
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
package us.tastybento.bskyblock.api.panels;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public class PanelItem {
|
||||
|
||||
private ItemStack item;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package us.tastybento.bskyblock.api.panels.builders;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import us.tastybento.bskyblock.api.panels.PanelItem;
|
||||
|
||||
public class PanelItemBuilder {
|
||||
|
@ -7,7 +7,6 @@ import java.util.List;
|
||||
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import us.tastybento.bskyblock.BSkyBlock;
|
||||
import us.tastybento.bskyblock.database.DatabaseConnecter;
|
||||
|
||||
/**
|
||||
|
@ -113,20 +113,20 @@ public class NewIsland {
|
||||
// Create island
|
||||
new IslandBuilder(island)
|
||||
.setPlayer(player)
|
||||
.setDefaultChestItems(Settings.chestItems)
|
||||
.setChestItems(Settings.chestItems)
|
||||
.setType(IslandType.ISLAND)
|
||||
.build();
|
||||
if (Settings.netherGenerate && Settings.netherIslands && IslandWorld.getNetherWorld() != null) {
|
||||
new IslandBuilder(island)
|
||||
.setPlayer(player)
|
||||
.setDefaultChestItems(Settings.chestItems)
|
||||
.setChestItems(Settings.chestItems)
|
||||
.setType(IslandType.NETHER)
|
||||
.build();
|
||||
}
|
||||
if (Settings.endGenerate && Settings.endIslands && IslandWorld.getEndWorld() != null) {
|
||||
new IslandBuilder(island)
|
||||
.setPlayer(player)
|
||||
.setDefaultChestItems(Settings.chestItems)
|
||||
.setChestItems(Settings.chestItems)
|
||||
.setType(IslandType.END)
|
||||
.build();
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package us.tastybento.bskyblock.island.builders;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.TreeType;
|
||||
@ -12,7 +13,6 @@ import org.bukkit.block.BlockState;
|
||||
import org.bukkit.block.Sign;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.InventoryHolder;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.material.Chest;
|
||||
|
||||
@ -40,7 +40,7 @@ public class IslandBuilder {
|
||||
private World world;
|
||||
private IslandType type = IslandType.ISLAND;
|
||||
//private List<String> companionNames = new ArrayList<>();
|
||||
private ItemStack[] defaultChestItems;
|
||||
private ItemStack[] chestItems;
|
||||
//private List<Entity> companions = new ArrayList<>();
|
||||
private UUID playerUUID;
|
||||
private String playerName;
|
||||
@ -87,10 +87,10 @@ public class IslandBuilder {
|
||||
|
||||
|
||||
/**
|
||||
* @param defaultChestItems the defaultChestItems to set
|
||||
* @param chestItems the default chestItems to set
|
||||
*/
|
||||
public IslandBuilder setDefaultChestItems(ItemStack[] defaultChestItems) {
|
||||
this.defaultChestItems = defaultChestItems;
|
||||
public IslandBuilder setChestItems(ItemStack[] chestItems) {
|
||||
this.chestItems = chestItems;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -316,8 +316,8 @@ public class IslandBuilder {
|
||||
|
||||
int y = 0;
|
||||
for (y = islandHeight + 4; y < islandHeight + 5; y++) {
|
||||
for (int x_space = x - 2; x_space <= x + 2; x_space++) {
|
||||
for (int z_space = z - 2; z_space <= z + 2; z_space++) {
|
||||
for (int x_space = x - 3; x_space <= x + 3; x_space++) {
|
||||
for (int z_space = z - 3; z_space <= z + 3; z_space++) {
|
||||
world.getBlockAt(x_space, y, z_space).setType(Material.NETHER_BRICK);
|
||||
}
|
||||
}
|
||||
@ -377,6 +377,7 @@ public class IslandBuilder {
|
||||
y = islandHeight;
|
||||
// Add tree (natural)
|
||||
Location treeLoc = new Location(world, x, y + 5D, z);
|
||||
treeLoc.getBlock().getRelative(BlockFace.DOWN).setType(Material.NETHERRACK);
|
||||
world.generateTree(treeLoc, TreeType.TREE);
|
||||
// Place the cow
|
||||
//Location location = new Location(world, x, (islandHeight + 5), z - 2);
|
||||
@ -398,8 +399,8 @@ public class IslandBuilder {
|
||||
int y = 0;
|
||||
// Add some grass
|
||||
for (y = islandHeight + 4; y < islandHeight + 5; y++) {
|
||||
for (int x_space = x - 2; x_space <= x + 2; x_space++) {
|
||||
for (int z_space = z - 2; z_space <= z + 2; z_space++) {
|
||||
for (int x_space = x - 3; x_space <= x + 3; x_space++) {
|
||||
for (int z_space = z - 3; z_space <= z + 3; z_space++) {
|
||||
world.getBlockAt(x_space, y, z_space).setType(Material.END_BRICKS);
|
||||
}
|
||||
}
|
||||
@ -478,7 +479,7 @@ public class IslandBuilder {
|
||||
if (this.playerUUID != null) {
|
||||
Sign sign = (Sign) blockToChange.getState();
|
||||
for (int i=0; i<4; i++) {
|
||||
sign.setLine(i, BSkyBlock.getPlugin().getLocale(playerUUID).get("signLine" + i).replace("[player]", playerName));
|
||||
sign.setLine(i, BSkyBlock.getPlugin().getLocale(playerUUID).get("island.sign.line" + i).replace("[player]", playerName));
|
||||
}
|
||||
((org.bukkit.material.Sign) sign.getData()).setFacingDirection(BlockFace.NORTH);
|
||||
sign.update();
|
||||
@ -492,11 +493,15 @@ public class IslandBuilder {
|
||||
BlockState state = blockToChange.getState();
|
||||
Chest chest = new Chest(BlockFace.SOUTH);
|
||||
state.setData(chest);
|
||||
if (defaultChestItems.length > 0) {
|
||||
InventoryHolder ih = (InventoryHolder) state;
|
||||
ih.getInventory().setContents(defaultChestItems);
|
||||
}
|
||||
state.update();
|
||||
if (chestItems.length > 0) {
|
||||
Bukkit.getLogger().info("DEBUG: chest items = " + chestItems.toString());
|
||||
org.bukkit.block.Chest chestBlock = (org.bukkit.block.Chest) state;
|
||||
chestBlock.getInventory().addItem(chestItems);
|
||||
chestBlock.update();
|
||||
} else {
|
||||
Bukkit.getLogger().info("DEBUG: no chest items");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,12 +6,14 @@ import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.World.Environment;
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.entity.Vehicle;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityPortalEvent;
|
||||
import org.bukkit.event.player.PlayerPortalEvent;
|
||||
import org.bukkit.event.world.StructureGrowEvent;
|
||||
|
||||
import us.tastybento.bskyblock.BSkyBlock;
|
||||
import us.tastybento.bskyblock.config.Settings;
|
||||
@ -27,7 +29,7 @@ import us.tastybento.bskyblock.util.VaultHelper;
|
||||
|
||||
public class NetherPortals implements Listener {
|
||||
private final BSkyBlock plugin;
|
||||
private final static boolean DEBUG = false;
|
||||
private final static boolean DEBUG = true;
|
||||
|
||||
public NetherPortals(BSkyBlock plugin) {
|
||||
this.plugin = plugin;
|
||||
@ -223,7 +225,7 @@ public class NetherPortals implements Listener {
|
||||
plugin.getLogger().warning("Creating nether island for " + event.getPlayer().getName());
|
||||
new IslandBuilder(island)
|
||||
.setPlayer(event.getPlayer())
|
||||
.setDefaultChestItems(Settings.chestItems)
|
||||
.setChestItems(Settings.chestItems)
|
||||
.setType(IslandType.NETHER)
|
||||
.build();
|
||||
}
|
||||
@ -246,4 +248,33 @@ public class NetherPortals implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts trees to gravel and glowstone
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
||||
public void onTreeGrow(final StructureGrowEvent e) {
|
||||
if (DEBUG)
|
||||
plugin.getLogger().info("DEBUG: " + e.getEventName());
|
||||
|
||||
if (!Settings.netherTrees) {
|
||||
return;
|
||||
}
|
||||
if (!Settings.netherGenerate || IslandWorld.getNetherWorld() == null) {
|
||||
return;
|
||||
}
|
||||
// Check world
|
||||
if (!e.getLocation().getWorld().equals(IslandWorld.getNetherWorld())) {
|
||||
return;
|
||||
}
|
||||
for (BlockState b : e.getBlocks()) {
|
||||
if (b.getType() == Material.LOG || b.getType() == Material.LOG_2) {
|
||||
b.setType(Material.GRAVEL);
|
||||
} else if (b.getType() == Material.LEAVES || b.getType() == Material.LEAVES_2) {
|
||||
b.setType(Material.GLOWSTONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
package us.tastybento.bskyblock.listeners;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
@ -8,14 +11,10 @@ import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import us.tastybento.bskyblock.BSkyBlock;
|
||||
import us.tastybento.bskyblock.api.panels.ClickType;
|
||||
import us.tastybento.bskyblock.api.panels.Panel;
|
||||
import us.tastybento.bskyblock.api.panels.PanelItem;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
public class PanelListener implements Listener {
|
||||
|
||||
|
@ -3,6 +3,7 @@ package us.tastybento.bskyblock.panels;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import us.tastybento.bskyblock.BSkyBlock;
|
||||
import us.tastybento.bskyblock.api.panels.ClickType;
|
||||
import us.tastybento.bskyblock.api.panels.Panel;
|
||||
|
Loading…
Reference in New Issue
Block a user