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:
JavaScript
x
@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())));
}
JavaScript
[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.
JavaScript
Player player = Bukkit.getPlayer(String.valueOf(blockPlaceEvent.getItemInHand().displayName()));
player.getName();