@@ -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