Limit blocks and items to specific client version
#1
I'd like a plugin that would limit the players to only have access to blocks and items available in a specific client version. That is, any client version is allowed to connect, but when they try to put a "too new" item in a chest, or place a "too new" block, the action is refused, while possibly losing the item / block.

Example 1:
Plugin configured to allow only 1.2 blocks / items.
Player connects using a 1.8 client.
Player tries to place granite.
The granite block turns into regular stone.

Example 2:
Plugin configured to allow only 1.2 blocks / items.
Player in creative mode grabs an emerald (1.3 item) into their inventory
Plugin removes the item from the player's inventory (if possible)
If not possible, the following happens:
The player takes the emerald from their inventory and places it into a chest.
Plugin removes the item from the chest.
Alternate:
Player drops the emerald (Q key)
Plugin deletes the pickup.
Reply
Thanks given by:
#2
Such a plugin may need some new hooks, especially on the inventory handling; I can add those upon request.
Reply
Thanks given by:
#3
Wouldnt it be better (but more difficult) to send different blocks to each minecraft version?
But that would require lua protocol api.
Combustible lemons and potato batteries, that's the future.Big Grin
Reply
Thanks given by:
#4
That's not a solution to my problem. My problem is that I want to allow 1.9 (snapshot) clients onto the Gallery server, but I don't want them to be able to place or wield 1.9-specific blocks and items - I want 1.8 clients to be able to connect and play on the Gallery server, too.
Reply
Thanks given by:
#5
What about creating a cBlockFilter class to filter the protocol?

And of course exporting it to the API would be good.
Reply
Thanks given by:
#6
I'd like to give it a try. Could you add a OnWindowSlotChanging(a_Window, a_SlotNum, a_ChangedItem) hook?

Also, what would be preferred, a whitelist or a blacklist?
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)