- Баллы
- 173
- Имя в Minecraft
- OsipXD
Собственно, вопрос в заголовке. Как это сделать?
Сейчас я с помощью рефлексий изменяю в Item поле maxStackSize, но это дает эффект на все вещи заданного типа, а нужно только для одного экземпляра.
У меня была идея создать объект, расширяющий CraftItemStack и в нем заменить метод getMaxStackSize(). А потом подменять им настоящий предмет, при создании. Но CraftItemStack это NMS.
Можно-ли как-то реализовать расширение неизвестного класса?
То есть унаследовать его от MinecraftReflection.getCraftItemStackClass() (MinecraftReflection - ProtocolLib)
В принципе, я знаю, что можно сделать кучу классов для каждой поддерживаемой версии NMS, но через MinecraftReflection было бы удобней.
Сейчас я с помощью рефлексий изменяю в Item поле maxStackSize, но это дает эффект на все вещи заданного типа, а нужно только для одного экземпляра.
У меня была идея создать объект, расширяющий CraftItemStack и в нем заменить метод getMaxStackSize(). А потом подменять им настоящий предмет, при создании. Но CraftItemStack это NMS.
Можно-ли как-то реализовать расширение неизвестного класса?
То есть унаследовать его от MinecraftReflection.getCraftItemStackClass() (MinecraftReflection - ProtocolLib)В принципе, я знаю, что можно сделать кучу классов для каждой поддерживаемой версии NMS, но через MinecraftReflection было бы удобней.
Последнее редактирование: