Przeglądaj źródła

1.16-pre6 Bump

Signed-off-by: shedaniel <daniel@shedaniel.me>
shedaniel 5 lat temu
rodzic
commit
f15ec80876

+ 6 - 6
gradle.properties

@@ -1,7 +1,7 @@
-supported_version=1.16-pre3
-minecraft_version=1.16-pre3
-yarn_mappings=1.16-pre3+build.1+legacy.20w09a+build.8
+supported_version=1.16-pre6
+minecraft_version=1.16-pre6
+yarn_mappings=1.16-pre6+build.5+legacy.20w09a+build.8
 loader_version=0.8.7+build.201
-fabric_version=0.11.8+build.357-1.16
-mod_version=4.5.3
-modmenu_version=1.12.0+build.14
+fabric_version=0.12.3+build.363-1.16
+mod_version=4.5.4
+modmenu_version=1.12.1+build.15

+ 18 - 3
src/main/java/me/shedaniel/clothconfig2/api/AbstractConfigEntry.java

@@ -16,15 +16,22 @@ import org.jetbrains.annotations.Nullable;
 import java.util.List;
 import java.util.Optional;
 import java.util.function.Supplier;
+import java.util.stream.Collectors;
 
 @Environment(EnvType.CLIENT)
 public abstract class AbstractConfigEntry<T> extends DynamicElementListWidget.ElementEntry<AbstractConfigEntry<T>> implements ReferenceProvider<T> {
     private AbstractConfigScreen screen;
     private Supplier<Optional<Text>> errorSupplier;
     @Nullable
-    private List<AbstractConfigEntry<?>> referencableEntries = null;
+    private List<ReferenceProvider<?>> referencableEntries = null;
     
-    public final void setReferencableEntries(List<AbstractConfigEntry<?>> referencableEntries) {
+    @Deprecated
+    @ApiStatus.ScheduledForRemoval
+    public final void setReferencableEntries(@Nullable List<AbstractConfigEntry<?>> referencableEntries) {
+        setReferenceProviderEntries(referencableEntries.stream().map(AbstractConfigEntry::provideReferenceEntry).collect(Collectors.toList()));
+    }
+    
+    public final void setReferenceProviderEntries(@Nullable List<ReferenceProvider<?>> referencableEntries) {
         this.referencableEntries = referencableEntries;
     }
     
@@ -36,13 +43,21 @@ public abstract class AbstractConfigEntry<T> extends DynamicElementListWidget.El
     }
     
     @Override
-    public AbstractConfigEntry<T> provideReferenceEntry() {
+    public @NotNull AbstractConfigEntry<T> provideReferenceEntry() {
         return this;
     }
     
     @Nullable
     @ApiStatus.Internal
+    @Deprecated
+    @ApiStatus.ScheduledForRemoval
     public final List<AbstractConfigEntry<?>> getReferencableEntries() {
+        return referencableEntries.stream().map(ReferenceProvider::provideReferenceEntry).collect(Collectors.toList());
+    }
+    
+    @Nullable
+    @ApiStatus.Internal
+    public final List<ReferenceProvider<?>> getReferenceProviderEntries() {
         return referencableEntries;
     }
     

+ 3 - 0
src/main/java/me/shedaniel/clothconfig2/api/ReferenceProvider.java

@@ -1,5 +1,8 @@
 package me.shedaniel.clothconfig2.api;
 
+import org.jetbrains.annotations.NotNull;
+
 public interface ReferenceProvider<T> {
+    @NotNull
     AbstractConfigEntry<T> provideReferenceEntry();
 }

+ 3 - 3
src/main/java/me/shedaniel/clothconfig2/gui/GlobalizedClothConfigScreen.java

@@ -154,11 +154,11 @@ public class GlobalizedClothConfigScreen extends AbstractConfigScreen implements
     }
     
     private void buildReferenceFor(AbstractConfigEntry<?> entry, int layer) {
-        List<AbstractConfigEntry<?>> referencableEntries = entry.getReferencableEntries();
+        List<ReferenceProvider<?>> referencableEntries = entry.getReferenceProviderEntries();
         if (referencableEntries != null) {
             this.references.add(new ConfigEntryReference(entry, layer));
-            for (AbstractConfigEntry<?> referencableEntry : referencableEntries) {
-                buildReferenceFor(referencableEntry, layer + 1);
+            for (ReferenceProvider<?> referencableEntry : referencableEntries) {
+                buildReferenceFor(referencableEntry.provideReferenceEntry(), layer + 1);
             }
         }
     }

+ 1 - 1
src/main/java/me/shedaniel/clothconfig2/gui/entries/MultiElementListEntry.java

@@ -44,7 +44,7 @@ public class MultiElementListEntry<T> extends TooltipListEntry<T> implements Exp
         this.widget = new MultiElementListEntry<T>.CategoryLabelWidget();
         this.children = Lists.newArrayList(widget);
         this.children.addAll(entries);
-        this.setReferencableEntries((List) entries);
+        this.setReferenceProviderEntries((List) entries);
     }
     
     @Override

+ 4 - 2
src/main/java/me/shedaniel/clothconfig2/gui/entries/NestedListListEntry.java

@@ -12,6 +12,7 @@ import net.minecraft.client.gui.Element;
 import net.minecraft.client.util.math.MatrixStack;
 import net.minecraft.text.Text;
 import org.jetbrains.annotations.ApiStatus;
+import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import java.util.Collections;
@@ -27,7 +28,7 @@ import java.util.function.Supplier;
  */
 @Environment(EnvType.CLIENT)
 public final class NestedListListEntry<T, INNER extends AbstractConfigListEntry<T>> extends AbstractListListEntry<T, NestedListCell<T, INNER>, NestedListListEntry<T, INNER>> {
-    private final List<AbstractConfigEntry<?>> referencableEntries = Lists.newArrayList();
+    private final List<ReferenceProvider<?>> referencableEntries = Lists.newArrayList();
     
     @ApiStatus.Internal
     public NestedListListEntry(Text fieldName, List<T> value, boolean defaultExpanded, Supplier<Optional<Text[]>> tooltipSupplier, Consumer<List<T>> saveConsumer, Supplier<List<T>> defaultValue, Text resetButtonKey, boolean deleteButtonEnabled, boolean insertInFront, BiFunction<T, NestedListListEntry<T, INNER>, INNER> createNewCell) {
@@ -35,7 +36,7 @@ public final class NestedListListEntry<T, INNER extends AbstractConfigListEntry<
         for (NestedListCell<T, INNER> cell : cells) {
             referencableEntries.add(cell.nestedEntry);
         }
-        setReferencableEntries(referencableEntries);
+        setReferenceProviderEntries(referencableEntries);
     }
     
     @Override
@@ -57,6 +58,7 @@ public final class NestedListListEntry<T, INNER extends AbstractConfigListEntry<
         }
         
         @Override
+        @NotNull
         public AbstractConfigEntry<T> provideReferenceEntry() {
             return nestedEntry;
         }

+ 1 - 1
src/main/java/me/shedaniel/clothconfig2/gui/entries/SubCategoryListEntry.java

@@ -40,7 +40,7 @@ public class SubCategoryListEntry extends TooltipListEntry<List<AbstractConfigLi
         this.widget = new CategoryLabelWidget();
         this.children = Lists.newArrayList(widget);
         this.children.addAll(entries);
-        this.setReferencableEntries((List) entries);
+        this.setReferenceProviderEntries((List) entries);
     }
     
     @Override