I want to get the player whos name matches the name of the block which was placed and updated this players gamemode to survival. But this just gives me gibberish in the console:
@EventHandler public void onPlace(BlockPlaceEvent blockPlaceEvent){ //Player ded = Bukkit.getPlayer(String.valueOf(blockPlaceEvent.getItemInHand().displayName()));- not important //gives just the item name blockPlaceEvent.getPlayer().sendMessage(blockPlaceEvent.getItemInHand().displayName()); //gibberish System.out.println(Bukkit.getPlayer(String.valueOf(blockPlaceEvent.getItemInHand().displayName()))); }
[19:15:09 INFO]: [Immortality] [STDOUT] TranslatableComponentImpl{key="chat.square_brackets", args=[TextComponentImpl{content="", style=StyleImpl{obfuscated=not_set, bold=not_set, strikethrough=not_set, underlined=not_set, italic=true, color=null, clickEvent=null, hoverEvent=null, insertion=null, font=null}, children=[TextComponentImpl{content="Windows_Paride", style=StyleImpl{obfuscated=not_set, bold=not_set, strikethrough=not_set, underlined=not_set, italic=not_set, color=null, clickEvent=null, hoverEvent=null, insertion=null, font=null}, children=[]}]}], style=StyleImpl{obfuscated=not_set, bold=not_set, strikethrough=not_set, underlined=not_set, italic=not_set, color=NamedTextColor{name="yellow", value="#ffff55"}, clickEvent=null, hoverEvent=HoverEvent{action=show_item, value=ShowItem{item=KeyImpl{namespace="minecraft", value="player_head"}, count=1, nbt={SkullOwner:{Id:[I;1311740293,1907444130,-1719123357,-1000482567],Name:"Windows_Paride",Properties:{textures:[{Signature:"x3tHAiXrUDBYofKatE+CaD46u0lyjkxlab+Xg+zKNEO1GMGnjPHXsfRSl9CVp9bBLJLu3aMcd8qI/bcm+E8mqJlbHRxjzRi/7W/JOTbsWWurf32i4fgO1VqxoSWsGb6PGbtCVKI7LXm0nPu+lreVHKWbgAqaw8koadUZIu+XhS8hTeqwpuNMLcrS5Wh7ODdf7hBK/BDT67RC3y6pjmDNeznrH6k8YEHQVZszJ/RCicP9AyQmbwCppjzjubYdwwIOi7r+jLmsCVL4r03svzOuugtGoMNgDFj/Gm/dLrvsN+Hy7lggltApbUFkxnewrkvTq+/ZQVACjsVEphwd6kMnzq8lRiUjtsqpcJpmhIttyAR0y+kgWX6L9zWP/z8FOACsXjf7OJfPPOVBs3LHLrBjDKuD9fTvbhZwdzW4Nonpmqk8M9Z+Y/tXbGyINzCdbs5lbNQYRwH7ACzjUQwHi93e5dwN622VP/vBzv0Uz7g9quohzlZKyogDuiSJUpPRBzyMhxWrVneMEOzj6fGIuN/Qxx6XVi6ZfoH0WRCvYeOjOqcR426rbXzoXV6vDHV0OxvKkCv7Md1TqO9zb3jaB7ekEVY2mWiJitNMuyT8CGATMCKhimCuP+RFu1leQXVFdnaFtbviQ6HxDoVxndODzrSRfz2GJ2ZCN4atQb4MuqMUdg0=",Value:"ewogICJ0aW1lc3RhbXAiIDogMTY2Nzc2MDM5NTYwNCwKICAicHJvZmlsZUlkIiA6ICI0ZTJmOTE4NTcxYjE0OWEyOTk4ODQyNjNjNDVkZDhmOSIsCiAgInByb2ZpbGVOYW1lIiA6ICJXaW5kb3dzX1BhcmlkZSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS83MzI1ODg2Y2JlZDQ3ZWI5MDk0ZWQyY2YxN2QyZWMyNGQzYzZhYmJlYzFlNDU3YjIyOTU1NzkxZjI2ZjkyZjZkIiwKICAgICAgIm1ldGFkYXRhIiA6IHsKICAgICAgICAibW9kZWwiIDogInNsaW0iCiAgICAgIH0KICAgIH0sCiAgICAiQ0FQRSIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjlhNzY1Mzc2NDc5ODlmOWEwYjZkMDAxZTMyMGRhYzU5MWMzNTllOWU2MWEzMWY0Y2UxMWM4OGYyMDdmMGFkNCIKICAgIH0KICB9Cn0="}]}},Unbreakable:1b,display:{Name:'{"text":"Windows_Paride"}'}}}}, insertion=null, font=null}, children=[]}
I tried doing ComponentLike etc but it returned null when I did that.
Advertisement
Answer
As per the comments you’re trying to get h the name of the player.
Refer https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/Player.html#getName() from the documentation.
First get the Player object and then fetch the name from the player object.
Player player = Bukkit.getPlayer(String.valueOf(blockPlaceEvent.getItemInHand().displayName())); player.getName();