Skip to content

Commit

Permalink
Rewrite ItemGroupBridge in Java
Browse files Browse the repository at this point in the history
  • Loading branch information
Juuxel committed Aug 2, 2024
1 parent 1ca7696 commit 2d1811c
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 34 deletions.
20 changes: 20 additions & 0 deletions common/src/main/java/juuxel/adorn/platform/ItemGroupBridge.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package juuxel.adorn.platform;

import juuxel.adorn.item.group.ItemGroupModifyContext;
import juuxel.adorn.util.InlineServices;
import juuxel.adorn.util.Services;
import net.minecraft.item.ItemGroup;
import net.minecraft.registry.RegistryKey;

import java.util.function.Consumer;

@InlineServices
public interface ItemGroupBridge {
ItemGroup.Builder builder();
void addItems(RegistryKey<ItemGroup> group, Consumer<ItemGroupModifyContext> configurator);

@InlineServices.Getter
static ItemGroupBridge get() {
return Services.load(ItemGroupBridge.class);
}
}
25 changes: 0 additions & 25 deletions common/src/main/kotlin/juuxel/adorn/platform/ItemGroupBridge.kt

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@

import juuxel.adorn.item.group.ItemGroupModifyContext;
import juuxel.adorn.platform.ItemGroupBridge;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.ItemGroup;
import net.minecraft.registry.RegistryKey;

import java.util.List;
import java.util.function.Consumer;

public final class ItemGroupBridgeFabric implements ItemGroupBridge {
@Override
Expand All @@ -19,7 +18,7 @@ public ItemGroup.Builder builder() {
}

@Override
public void addItems(RegistryKey<ItemGroup> group, Function1<? super ItemGroupModifyContext, Unit> configurator) {
public void addItems(RegistryKey<ItemGroup> group, Consumer<ItemGroupModifyContext> configurator) {
ItemGroupEvents.modifyEntriesEvent(group).register(entries -> {
var context = new ItemGroupModifyContext() {
@Override
Expand All @@ -33,7 +32,7 @@ public void addAfter(ItemConvertible after, List<? extends ItemConvertible> item
}
};

configurator.invoke(context);
configurator.accept(context);
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
import com.mojang.datafixers.util.Pair;
import juuxel.adorn.item.group.ItemGroupModifyContext;
import juuxel.adorn.platform.ItemGroupBridge;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import net.minecraft.item.ItemConvertible;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
Expand All @@ -14,18 +12,19 @@

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;

public final class ItemGroupBridgeForge implements ItemGroupBridge {
private static final ItemGroup.StackVisibility DEFAULT_STACK_VISIBILITY = ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS;
private final List<Pair<RegistryKey<ItemGroup>, Function1<? super ItemGroupModifyContext, Unit>>> additions = new ArrayList<>();
private final List<Pair<RegistryKey<ItemGroup>, Consumer<ItemGroupModifyContext>>> additions = new ArrayList<>();

@Override
public ItemGroup.Builder builder() {
return ItemGroup.builder();
}

@Override
public void addItems(RegistryKey<ItemGroup> group, Function1<? super ItemGroupModifyContext, Unit> configurator) {
public void addItems(RegistryKey<ItemGroup> group, Consumer<ItemGroupModifyContext> configurator) {
additions.add(new Pair<>(group, configurator));
}

Expand Down Expand Up @@ -54,7 +53,7 @@ public void addAfter(ItemConvertible after, List<? extends ItemConvertible> item
}
}
};
configurator.invoke(context);
configurator.accept(context);
}
}
}

0 comments on commit 2d1811c

Please sign in to comment.