From fb39c6bd490bb776974ebbc61ddf8c2904584a5e Mon Sep 17 00:00:00 2001 From: Kam Date: Fri, 14 Feb 2025 16:52:35 -0500 Subject: [PATCH] Fix Sign Bug --- src/api | 2 +- .../java/noppes/npcs/ServerEventsHandler.java | 34 ++++++++++++++----- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/api b/src/api index 0e9a4187e..8da3e91ed 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit 0e9a4187e32206b68706a7e2b1bd0f065b24d1a2 +Subproject commit 8da3e91ed47235828863736461c148e29fdcf362 diff --git a/src/main/java/noppes/npcs/ServerEventsHandler.java b/src/main/java/noppes/npcs/ServerEventsHandler.java index 5e0333f7c..fd84d9f14 100644 --- a/src/main/java/noppes/npcs/ServerEventsHandler.java +++ b/src/main/java/noppes/npcs/ServerEventsHandler.java @@ -26,6 +26,7 @@ import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.server.MinecraftServer; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; @@ -41,6 +42,7 @@ import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; import net.minecraftforge.event.terraingen.PopulateChunkEvent; import noppes.npcs.blocks.tiles.TileBanner; +import noppes.npcs.blocks.tiles.TileSign; import noppes.npcs.config.ConfigDebug; import noppes.npcs.config.ConfigMain; import noppes.npcs.constants.*; @@ -222,15 +224,29 @@ public class ServerEventsHandler { int meta = player.worldObj.getBlockMetadata(event.x, event.y, event.z); if(meta >= 7) y--; - TileBanner tile = (TileBanner)player.worldObj.getTileEntity(event.x, y, event.z); - if(!tile.canEdit()){ - if(item.getItem() == CustomItems.wand && CustomNpcsPermissions.hasPermission(player, CustomNpcsPermissions.EDIT_BLOCKS)){ - tile.time = System.currentTimeMillis(); - if(player.worldObj.isRemote) - player.addChatComponentMessage(new ChatComponentTranslation("availability.editIcon")); - } - return; - } + TileEntity tile = player.worldObj.getTileEntity(event.x, y, event.z); + if(tile instanceof TileBanner){ + TileBanner banner = (TileBanner) tile; + if(!banner.canEdit()){ + if(item.getItem() == CustomItems.wand && CustomNpcsPermissions.hasPermission(player, CustomNpcsPermissions.EDIT_BLOCKS)){ + banner.time = System.currentTimeMillis(); + if(player.worldObj.isRemote) + player.addChatComponentMessage(new ChatComponentTranslation("availability.editIcon")); + } + return; + } + } else if (tile instanceof TileSign) { + TileSign sign = (TileSign) tile; + if(!sign.canEdit()){ + if(item.getItem() == CustomItems.wand && CustomNpcsPermissions.hasPermission(player, CustomNpcsPermissions.EDIT_BLOCKS)){ + sign.time = System.currentTimeMillis(); + if(player.worldObj.isRemote) + player.addChatComponentMessage(new ChatComponentTranslation("availability.editIcon")); + } + return; + } + } + if(!player.worldObj.isRemote){ if(block == CustomItems.banner || block == CustomItems.wallBanner){