There might be some confusion regarding the PlayerGameObjectHitEvent: it's only triggered if a player hits a GameObject, i.e. a custom element spawned via the API. Unfortunately this doesn't apply to built-in game elemnts like plants or objects. To get the hit events for them, you can check out the events in the net.risingworld.api.events.player.world package: https://javadoc.rising-world.n…orld/package-summary.html
When it comes to static world elements, the game distinguishes between vegetation (plants, trees, but for technical reasons also naturally spawned boulders, tree trunks etc), objects (furniture, doors, workbenches) and construction elements (blocks, windows etc).
For example, the PlayerHitVegetationEvent is triggered when the player hits a plant or a tree with a tool or weapon, the PlayerHitObjectEvent is triggered when the player hits an object element (e.g. furniture, workbenches, doors etc), the PlayerHitConstructionEvent is triggered when the player hits a construction element (e.g. a block) and the PlayerHitTerrainEvent is triggered when the player hits the ground/terrain 
When it comes to interactions (i.e. the player presses the interaction key [F] while looking at an element), you can only listen for Npcs (PlayerNpcInteractionEvent), objects (PlayerObjectInteractionEvent) and players (PlayerPlayerInteractionEvent) for now.
Picking up elements is handled a bit different: There is a PlayerPickupItemEvent (called when the player picks up an item lying on the ground, e.g. a pickaxe, weapon, food, resources etc, basically everything that goes to the inventory). But if the player picks up a static world element (e.g. a plant) or dismantles furniture or blocks, there are some additional events which are called: PlayerRemoveVegetationEvent (when the player harvests or picks up a plant), PlayerRemoveObjectEvent (when the player deconstructs an object, either with the sledgehammer or by holding F) and PlayerRemoveConstructionEvent (when the player deconstructs a block with the sledgehammer) 