mirror of
https://github.com/songoda/FabledSkyBlock.git
synced 2024-11-22 02:08:34 +01:00
Merge pull request #53 from TeamHRLive/development
Fix island settings saving, heads in GUI menus, default island schematic
This commit is contained in:
commit
774e5f174f
@ -934,7 +934,7 @@ public class Island {
|
||||
|
||||
for (Entry<IslandRole, List<IslandPermission>> entry : this.islandPermissions.entrySet()) {
|
||||
for (IslandPermission permission : entry.getValue()) {
|
||||
configLoad.set("Settings." + entry.getKey().getFriendlyName() + "." + permission.getPermission().getName(), permission.getStatus());
|
||||
configLoad.set("Settings." + entry.getKey().getFriendlyName().toUpperCase(Locale.US) + "." + permission.getPermission().getName(), permission.getStatus());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -335,13 +335,23 @@ public class BlockListeners implements Listener {
|
||||
isObstructing = true;
|
||||
}
|
||||
|
||||
// Specific check for beds
|
||||
if (!isObstructing && event.getBlock().getState().getData() instanceof org.bukkit.material.Bed) {
|
||||
// Specific check for beds using getBlockData() for versions 1.13 and above
|
||||
if (!isObstructing && event.getBlock().getBlockData() instanceof org.bukkit.block.data.type.Bed && MajorServerVersion.isServerVersionAtLeast(MajorServerVersion.V1_13)) {
|
||||
org.bukkit.block.data.type.Bed bedData = (org.bukkit.block.data.type.Bed) event.getBlock().getBlockData();
|
||||
BlockFace bedDirection = bedData.getFacing();
|
||||
org.bukkit.block.Block bedBlock = block.getRelative(bedDirection);
|
||||
if (LocationUtil.isLocationAffectingIslandSpawn(bedBlock.getLocation(), island, world)) {
|
||||
isObstructing = true;
|
||||
}
|
||||
} // Specific check for beds using getBlockData() for versions 1.12 and below
|
||||
else if (MajorServerVersion.isServerVersionAtOrBelow(MajorServerVersion.V1_12)) {
|
||||
if (!isObstructing && event.getBlock().getState().getData() instanceof org.bukkit.material.Bed){
|
||||
BlockFace bedDirection = ((org.bukkit.material.Bed) event.getBlock().getState().getData()).getFacing();
|
||||
org.bukkit.block.Block bedBlock = block.getRelative(bedDirection);
|
||||
if (LocationUtil.isLocationAffectingIslandSpawn(bedBlock.getLocation(), island, world)) {
|
||||
isObstructing = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isObstructing) {
|
||||
|
@ -582,9 +582,9 @@ public class EntityListeners implements Listener {
|
||||
EntityEquipment equipment = livingEntity.getEquipment();
|
||||
if (equipment != null) {
|
||||
for (ItemStack item : event.getDrops()) {
|
||||
if (item.equals(equipment.getHelmet()) || item.equals(equipment.getChestplate())
|
||||
|| item.equals(equipment.getLeggings()) || item.equals(equipment.getBoots())
|
||||
|| item.equals(equipment.getItemInMainHand()) || item.equals(equipment.getItemInOffHand())) {
|
||||
if (item.isSimilar(equipment.getHelmet()) || item.isSimilar(equipment.getChestplate())
|
||||
|| item.isSimilar(equipment.getLeggings()) || item.isSimilar(equipment.getBoots())
|
||||
|| item.isSimilar(equipment.getItemInMainHand()) || item.isSimilar(equipment.getItemInOffHand())) {
|
||||
dontMultiply.add(item);
|
||||
}
|
||||
}
|
||||
@ -607,12 +607,18 @@ public class EntityListeners implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
for (ItemStack is : event.getDrops()) {
|
||||
for (ItemStack is2 : dontMultiply) {
|
||||
if (!is2.isSimilar(is)) {
|
||||
livingEntity.getWorld().dropItemNaturally(livingEntity.getLocation(), is);
|
||||
// Only drop items that are not in the dontMultiply set
|
||||
for (ItemStack item : event.getDrops()) {
|
||||
boolean shouldDrop = true;
|
||||
for (ItemStack dontMultiplyItem : dontMultiply) {
|
||||
if (item.isSimilar(dontMultiplyItem)) {
|
||||
shouldDrop = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (shouldDrop) {
|
||||
livingEntity.getWorld().dropItemNaturally(livingEntity.getLocation(), item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.craftaro.skyblock.menus;
|
||||
|
||||
import com.craftaro.core.utils.ItemUtils;
|
||||
import com.craftaro.core.utils.NumberUtils;
|
||||
import com.craftaro.core.utils.SkullItemCreator;
|
||||
import com.craftaro.skyblock.SkyBlock;
|
||||
@ -11,9 +12,12 @@ import com.craftaro.skyblock.utils.player.OfflinePlayer;
|
||||
import com.craftaro.skyblock.visit.Visit;
|
||||
import com.craftaro.third_party.com.cryptomorin.xseries.XMaterial;
|
||||
import com.craftaro.third_party.com.cryptomorin.xseries.XSound;
|
||||
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.builder.XSkull;
|
||||
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.objects.Profileable;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Skull;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@ -290,9 +294,9 @@ public class Leaderboard {
|
||||
|
||||
ItemStack phead;
|
||||
if (playerTexture.length >= 1 && playerTexture[0] != null) {
|
||||
phead = SkullItemCreator.byTextureValue(playerTexture[0]);
|
||||
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
|
||||
} else {
|
||||
phead = SkullItemCreator.byUuid(visit.getOwnerUUID());
|
||||
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
|
||||
}
|
||||
|
||||
nInv.addItem(
|
||||
|
@ -190,6 +190,7 @@ public class Levelling {
|
||||
long value = testIslandMaterials.get(materialName);
|
||||
Optional<XMaterial> materials = CompatibleMaterial.getMaterial(materialName);
|
||||
|
||||
|
||||
if (!materials.isPresent()) {
|
||||
continue;
|
||||
}
|
||||
|
@ -15,6 +15,8 @@ import com.craftaro.skyblock.playerdata.PlayerDataManager;
|
||||
import com.craftaro.skyblock.sound.SoundManager;
|
||||
import com.craftaro.skyblock.utils.item.nInventoryUtil;
|
||||
import com.craftaro.skyblock.utils.player.OfflinePlayer;
|
||||
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.builder.XSkull;
|
||||
import com.craftaro.third_party.com.cryptomorin.xseries.profiles.objects.Profileable;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
@ -228,9 +230,9 @@ public class Ownership {
|
||||
|
||||
ItemStack phead;
|
||||
if (playerTexture.length >= 1 && playerTexture[0] != null) {
|
||||
phead = SkullItemCreator.byTextureValue(playerTexture[0]);
|
||||
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
|
||||
} else {
|
||||
phead = SkullItemCreator.byUuid(originalOwnerUUID);
|
||||
phead = XSkull.createItem().profile(new Profileable.PlayerProfileable(player)).apply();
|
||||
}
|
||||
|
||||
nInv.addItem(nInv.createItem(XMaterial.OAK_FENCE_GATE.parseItem(),
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user