Skip to content

Commit 441f15a

Browse files
committed
Fix blur and clamp settings
1 parent e7caded commit 441f15a

2 files changed

Lines changed: 47 additions & 5 deletions

File tree

‎common/src/main/java/io/github/moremcmeta/moremcmeta/impl/client/io/TextureDataAssembler.java‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ public EventDrivenTexture.Builder assemble(TextureData<? extends I> data) {
112112
// Add components
113113
EventDrivenTexture.Builder builder = new EventDrivenTexture.Builder();
114114
builder.setPredefinedFrames(frames)
115-
.setGeneratedFrame(generatedFrame);
115+
.setGeneratedFrame(generatedFrame)
116+
.setBlur(data.blur())
117+
.setClamp(data.clamp());
116118

117119
for (int index = 0; index < data.analyzedMetadata().size(); index++) {
118120
Triple<String, AnalyzedMetadata, ComponentBuilder> metadata = data.analyzedMetadata().get(index);

‎common/src/main/java/io/github/moremcmeta/moremcmeta/impl/client/texture/EventDrivenTexture.java‎

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,14 @@ public final class EventDrivenTexture extends AbstractTexture implements CustomT
6161

6262
private final List<CoreTextureComponent> COMPONENTS;
6363
private final TextureState CURRENT_STATE;
64+
private final boolean BLUR;
65+
private final boolean CLAMP;
6466
private int ticks;
6567

6668
@Override
67-
public void setFilter(boolean blur, boolean clamp) {
69+
public void setFilter(boolean blur, boolean mipmapped) {
6870

69-
// Prevent blur and clamp settings in the NativeImageAdapter from being overridden by TextureStateShard
71+
// Prevent blur settings in the NativeImageAdapter from being overridden by TextureStateShard
7072
this.bind();
7173

7274
}
@@ -76,6 +78,8 @@ public void setFilter(boolean blur, boolean clamp) {
7678
*/
7779
public void load() {
7880
runListeners((component, view) -> component.onRegistration(view, CURRENT_STATE.predefinedFrames()));
81+
super.setFilter(BLUR, CURRENT_STATE.mipmapLevel() > 1);
82+
super.setClamp(CLAMP);
7983
}
8084

8185
@Override
@@ -125,14 +129,20 @@ private void runListeners(BiConsumer<CoreTextureComponent, TextureAndFrameView>
125129
* @param components components that listen to texture events
126130
* @param predefinedFrames frames already existing in the original image
127131
* @param generatedFrame initial image for this texture
132+
* @param blur whether to blur this texture
133+
* @param clamp whether to clamp this texture
128134
*/
129135
private EventDrivenTexture(
130136
List<CoreTextureComponent> components,
131137
List<? extends CloseableImageFrame> predefinedFrames,
132-
CloseableImageFrame generatedFrame) {
138+
CloseableImageFrame generatedFrame,
139+
boolean blur,
140+
boolean clamp) {
133141
super();
134142
COMPONENTS = components;
135143
CURRENT_STATE = new TextureState(this, predefinedFrames, generatedFrame);
144+
BLUR = blur;
145+
CLAMP = clamp;
136146
}
137147

138148
/**
@@ -143,6 +153,8 @@ public static final class Builder {
143153
private final List<CoreTextureComponent> COMPONENTS;
144154
private List<? extends CloseableImageFrame> predefinedFrames;
145155
private CloseableImageFrame generatedFrame;
156+
private boolean blur;
157+
private boolean clamp;
146158

147159
/**
148160
* Creates a new event-driven texture builder.
@@ -197,6 +209,26 @@ public Builder setGeneratedFrame(CloseableImageFrame frame) {
197209
return this;
198210
}
199211

212+
/**
213+
* Sets whether to blur this texture.
214+
* @param blur whether to blur this texture
215+
* @return this builder for chaining
216+
*/
217+
public Builder setBlur(boolean blur) {
218+
this.blur = blur;
219+
return this;
220+
}
221+
222+
/**
223+
* Sets whether to clamp this texture.
224+
* @param clamp whether to clamp this texture
225+
* @return this builder for chaining
226+
*/
227+
public Builder setClamp(boolean clamp) {
228+
this.clamp = clamp;
229+
return this;
230+
}
231+
200232
/**
201233
* Adds a component that the texture should have.
202234
* @param component component to add to the texture
@@ -285,7 +317,7 @@ public EventDrivenTexture build() {
285317
));
286318
}
287319

288-
return new EventDrivenTexture(COMPONENTS, predefinedFrames, generatedFrame);
320+
return new EventDrivenTexture(COMPONENTS, predefinedFrames, generatedFrame, blur, clamp);
289321
}
290322

291323
}
@@ -485,6 +517,14 @@ public void lowerMipmapLevel(int newMipmapLevel) {
485517
GENERATED_FRAME.lowerMipmapLevel(newMipmapLevel);
486518
}
487519

520+
/**
521+
* Gets the current mipmap level of this texture.
522+
* @return current mipmap level of this texture
523+
*/
524+
public int mipmapLevel() {
525+
return GENERATED_FRAME.mipmapLevel();
526+
}
527+
488528
/**
489529
* Gets the group of persistent views of the predefined frames.
490530
* @return the group of predefined frames

0 commit comments

Comments
 (0)