PacketGate Item Cosmetic Plugin

I’m looking for a plugin that allows you to exploit durability to have custom models for weapons / tools.

In short, how it would work is that all items with durability, would send custom data to the client.

On the server side the item should act as normal, but have a DataAPI value associated with a given resource pack model in some manner.

The clients receiving the items should see an unbreakable item, that has custom lore with the exact durability left.

The client should not see durability changes, unless the durability bar of the item would change.

By multiplexing the durability, you can create hundreds of custom models if you don’t need realistic durability bars.

I’d love to see this on the Sponge platform, it would give servers a EULA compliant way of giving out cosmetics, as long as it upgraded your existing gear rather then gave you brand new tools.

Bonus points would be to apply negative attributes to the tools once they ‘break’ instead of reverting them to an empty itemstack. But this would need to apply to vanilla items as well to remain EULA compliant.

2 Likes

Since the “actual” durability of the item can be handled with a custom manipulator, it shouldn’t be terribly difficult to manage this. Especially considering the plugin would be able to perform a lot of trickery with event listeners and replacing item stacks as necessary.

No NMS should be required.

Even when considering anvils etc?

I would have thought the simplest solution would have been lying to the client?

I’m confused. What is being sent to the client that is different from how it is handled on the server? What does lying to the client solve?

It means that the ‘true’ durability data remains true on the server, regardless of what the client sees.

If you don’t lie to the client, their pickaxe for example will swap between the original one and the sponsor one as it gets damaged.

If you handle durability with a custom mechanic instead, other plugins don’t know the true durability, Minecraft doesn’t know the true durability and repairs will act strangely.

If you tried to handle it server side, you would have to listen to many many events, and not catch all the possible compatibility issues.

As far as I’m aware anyway.

Fair point.