Comments (6)
the biggest problem i can see with this is conflicting resources, especially when dealing with replacing vanilla ones, what should happen when a resource is in /initial-resources/ but then a plugin also wants to replace the same resource?
We would deserialize them (new in 0.6.0-SNAPSHOT), add them to the ResourcePack before the ResourcePackGenerateEvent
and let plugins check if a resource exists, for example
class MyPluginResourcePackGenerateListener implements EventListener<ResourcePackGenerateEvent> {
@Override
public void handle(ResourcePackGenerateEvent event) {
PackMeta packMeta = event.packMeta();
if (packMeta == null) {
event.packMeta(9, "Default description");
} else {
// colorize description
event.packMeta(
packMeta.format(),
replaceAmpersandBySectionSignSmartly(packMeta.description())
);
}
}
}
from creative.
for ideas youre free to look at my resources plugin, licensed as mit
personally i would really like a "credits" system implemented where all plugins that add resources can also add a "credit" of their own to a file in the resource pack
from creative.
the biggest problem i can see with this is conflicting resources, especially when dealing with replacing vanilla ones, what should happen when a resource is in /initial-resources/ but then a plugin also wants to replace the same resource?
from creative.
for ideas youre free to look at my resources plugin, licensed as mit personally i would really like a "credits" system implemented where all plugins that add resources can also add a "credit" of their own to a file in the resource pack
Thank you for the resources plugin,
and, the credits system could be implemented yeah
from creative.
the biggest problem i can see with this is conflicting resources, especially when dealing with replacing vanilla ones, what should happen when a resource is in /initial-resources/ but then a plugin also wants to replace the same resource?
We would deserialize them (new in 0.6.0-SNAPSHOT), add them to the ResourcePack before the
ResourcePackGenerateEvent
and let plugins check if a resource exists, for exampleclass MyPluginResourcePackGenerateListener implements EventListener<ResourcePackGenerateEvent> { @Override public void handle(ResourcePackGenerateEvent event) { PackMeta packMeta = event.packMeta(); if (packMeta == null) { event.packMeta(9, "Default description"); } else { // colorize description event.packMeta( packMeta.format(), replaceAmpersandBySectionSignSmartly(packMeta.description()) ); } } }
I believe event listeners are handled in random order, unless the plugin developer sets a specific priority for the listener, what should happen in that case?
from creative.
I believe event listeners are handled in random order, unless the plugin developer sets a specific priority for the listener, what should happen in that case?
I think we should implement our own event system, similar to LuckPerms
from creative.
Related Issues (20)
- 23w17a/1.20 new glyph providers HOT 1
- IllegalStateException: Nesting problem HOT 3
- .png twice in texture.png.mcmeta
- [Feature Request] support for assets/minecraft/atlases/blocks.json
- creative can't read resources with illegal params HOT 2
- [Feature] (`serializer-minecraft`) Add API to (de)serialize elements independently HOT 1
- 1.20 font parse error HOT 1
- Metadata should be independent
- Use Java 17 HOT 1
- java.lang.ClassCastException HOT 1
- Separate item and block models HOT 1
- Support for Shaders HOT 3
- Add missing toBuilder() methods
- Replace Set with Collection in SoundRegistry
- Add ElementRotation.of(Vector3Float origin, Vector3Float angles, boolean rescale) HOT 4
- Possibillity to load BBModels HOT 2
- Ability to add layers and variables individually in ModelTextures.Builder HOT 1
- Don't throw on file parse errors
- Atlas source types are deserialized as strings HOT 1
- Dependency Dashboard
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from creative.