Skip to content

Commit

Permalink
update NeoForge, implement changes in Registries
Browse files Browse the repository at this point in the history
  • Loading branch information
Mari023 committed Nov 20, 2023
1 parent afc6681 commit 53aa7b8
Show file tree
Hide file tree
Showing 11 changed files with 28 additions and 48 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ archivesBaseName=AE2WTLib
# Dependencies
# check this on https://modmuss50.me/fabric.html
fabricApiVersion=0.88.1+1.20.1
neoforgeVersion=20.2.43-beta
neoforgeVersion=20.2.59-beta
modloader=forge

ae2Version=0.0.0
ae2Version=0.0.1
trinketsVersion=3.7.1
#Trinkets dependency
ccaVersion=5.2.1
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/de/mari_023/ae2wtlib/AE2WTLibCreativeTab.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import java.util.Collection;

import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
Expand All @@ -15,13 +15,13 @@
public class AE2WTLibCreativeTab {
private static final Collection<ItemStack> items = new ArrayDeque<>();

public static void init(Registry<CreativeModeTab> registry) {
public static void init() {
var tab = CreativeModeTab.builder()
.title(TextConstants.CREATIVE_TAB)
.icon(() -> new ItemStack(AE2wtlib.UNIVERSAL_TERMINAL))
.displayItems(AE2WTLibCreativeTab::buildDisplayItems)
.build();
Registry.register(registry, new ResourceLocation(AE2wtlib.MOD_NAME, "main"), tab);
Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, AE2wtlib.makeID("main"), tab);
}

public static void add(Item item) {
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/de/mari_023/ae2wtlib/AE2wtlib.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.mari_023.ae2wtlib;

import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;

import de.mari_023.ae2wtlib.curio.CurioHelper;
Expand Down Expand Up @@ -105,4 +106,8 @@ static void registerMenus() {
Platform.registerMenuType(MagnetMenu.ID, MagnetMenu.TYPE);
Platform.registerMenuType(TrashMenu.ID, TrashMenu.TYPE);
}

public static ResourceLocation makeID(String name) {
return new ResourceLocation(MOD_NAME, name);
}
}
30 changes: 4 additions & 26 deletions src/main/java/de/mari_023/ae2wtlib/AE2wtlibForge.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
package de.mari_023.ae2wtlib;

import java.util.HashMap;
import java.util.Objects;

import net.minecraft.core.registries.Registries;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.neoforged.bus.api.EventPriority;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.bus.api.SubscribeEvent;
Expand All @@ -16,8 +10,6 @@
import net.neoforged.neoforge.event.entity.living.LivingEntityUseItemEvent;
import net.neoforged.neoforge.event.entity.player.EntityItemPickupEvent;
import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.ForgeRegistries;
import net.neoforged.neoforge.registries.RegisterEvent;

import de.mari_023.ae2wtlib.curio.CurioLocator;
Expand All @@ -27,30 +19,16 @@
@Mod(AE2wtlib.MOD_NAME)
@Mod.EventBusSubscriber
public class AE2wtlibForge {
public static final HashMap<String, Item> ITEMS = new HashMap<>();

public static final DeferredRegister<RecipeSerializer<?>> RECIPES = DeferredRegister.create(
ForgeRegistries.RECIPE_SERIALIZERS,
AE2wtlib.MOD_NAME);

public AE2wtlibForge() {
AE2wtlibConfig.init();
if (Platform.trinketsPresent())
MenuLocators.register(CurioLocator.class, CurioLocator::writeToPacket, CurioLocator::readFromPacket);
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
RECIPES.register(modEventBus);
modEventBus.addListener((RegisterEvent event) -> {
if (event.getRegistryKey().equals(ForgeRegistries.MENU_TYPES.getRegistryKey())) {
AE2wtlib.registerMenus();
} else if (event.getRegistryKey().equals(ForgeRegistries.ITEMS.getRegistryKey())) {
AE2wtlib.createItems();
for (var entry : ITEMS.entrySet()) {
ForgeRegistries.ITEMS.register(entry.getKey(), entry.getValue());
}
AE2wtlib.onAe2Initialized();
} else if (event.getRegistryKey().equals(Registries.CREATIVE_MODE_TAB)) {
AE2WTLibCreativeTab.init(Objects.requireNonNull(event.getVanillaRegistry()));
}
AE2wtlib.registerMenus();
AE2wtlib.createItems();
AE2wtlib.onAe2Initialized();
AE2WTLibCreativeTab.init();
});
modEventBus.addListener((BuildCreativeModeTabContentsEvent event) -> AE2wtlib.addToCreativeTab());
}
Expand Down
9 changes: 5 additions & 4 deletions src/main/java/de/mari_023/ae2wtlib/Platform.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

import org.jetbrains.annotations.Nullable;

import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.neoforged.fml.ModList;
import net.neoforged.neoforge.registries.ForgeRegistries;

import de.mari_023.ae2wtlib.curio.CurioHelper;

Expand Down Expand Up @@ -39,18 +40,18 @@ public static MenuLocator findTerminalFromAccessory(Player player, String termin
}

public static void registerItem(String name, Item item) {
AE2wtlibForge.ITEMS.put(name, item);
Registry.register(BuiltInRegistries.ITEM, AE2wtlib.makeID(name), item);
}

public static void registerRecipe(String name, RecipeSerializer<?> serializer) {
AE2wtlibForge.RECIPES.register(name, () -> serializer);
Registry.register(BuiltInRegistries.RECIPE_SERIALIZER, AE2wtlib.makeID(name), serializer);
}

public static boolean preventRemoteMovement(ItemEntity item) {
return item.getPersistentData().contains("PreventRemoteMovement");
}

public static void registerMenuType(String id, MenuType<?> menuType) {
ForgeRegistries.MENU_TYPES.register(AppEng.makeId(id), menuType);
Registry.register(BuiltInRegistries.MENU, AppEng.makeId(id), menuType);
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package de.mari_023.ae2wtlib.networking;

import net.minecraft.resources.ResourceLocation;

import de.mari_023.ae2wtlib.AE2wtlib;
import dev.architectury.networking.NetworkManager;

public class ClientNetworkManager {

public static void registerClientBoundPacket(String name, ServerNetworkManager.PacketDeserializer deserializer) {
NetworkManager.registerReceiver(NetworkManager.s2c(), new ResourceLocation(AE2wtlib.MOD_NAME, name),
NetworkManager.registerReceiver(NetworkManager.s2c(), AE2wtlib.makeID(name),
(buf, context) -> {
buf.retain();
context.queue(() -> {
Expand All @@ -22,7 +20,7 @@ public static void registerClientBoundPacket(String name, ServerNetworkManager.P
}

public static void sendToServer(AE2wtlibPacket packet) {
NetworkManager.sendToServer(new ResourceLocation(AE2wtlib.MOD_NAME, packet.getPacketName()),
NetworkManager.sendToServer(AE2wtlib.makeID(packet.getPacketName()),
packet.getPacketBuffer());
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package de.mari_023.ae2wtlib.networking;

import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;

import de.mari_023.ae2wtlib.AE2wtlib;
Expand All @@ -10,7 +9,7 @@
public class ServerNetworkManager {

public static void registerServerBoundPacket(String name, PacketDeserializer deserializer) {
NetworkManager.registerReceiver(NetworkManager.c2s(), new ResourceLocation(AE2wtlib.MOD_NAME, name),
NetworkManager.registerReceiver(NetworkManager.c2s(), AE2wtlib.makeID(name),
(buf, context) -> {
buf.retain();
context.queue(() -> {
Expand All @@ -21,7 +20,7 @@ public static void registerServerBoundPacket(String name, PacketDeserializer des
}

public static void sendToClient(ServerPlayer player, AE2wtlibPacket packet) {
NetworkManager.sendToPlayer(player, new ResourceLocation(AE2wtlib.MOD_NAME, packet.getPacketName()),
NetworkManager.sendToPlayer(player, AE2wtlib.makeID(packet.getPacketName()),
packet.getPacketBuffer());
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/de/mari_023/ae2wtlib/reijei/JEIPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

@JeiPlugin
public class JEIPlugin implements IModPlugin {
private static final ResourceLocation ID = new ResourceLocation(AE2wtlib.MOD_NAME, "core");
private static final ResourceLocation ID = AE2wtlib.makeID("core");

@Override
public ResourceLocation getPluginUid() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public abstract class WTMenuHost extends WirelessTerminalMenuHost
private final IGrid targetGrid;
private IActionHost quantumBridge;
private IUpgradeInventory upgradeInventory;
public static final ResourceLocation INV_SINGULARITY = new ResourceLocation(AE2wtlib.MOD_NAME, "singularity");
public static final ResourceLocation INV_SINGULARITY = AE2wtlib.makeID("singularity");

public WTMenuHost(final Player player, @Nullable Integer inventorySlot, final ItemStack is,
BiConsumer<Player, ISubMenu> returnToMainMenu) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/de/mari_023/ae2wtlib/wct/WCTMenuHost.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
public class WCTMenuHost extends WTMenuHost implements IViewCellStorage {
private final AppEngInternalInventory craftingGrid = new AppEngInternalInventory(this, 9);
private final AppEngInternalInventory trash = new AppEngInternalInventory(this, 27);
public static final ResourceLocation INV_TRASH = new ResourceLocation(AE2wtlib.MOD_NAME, "wct_trash");
public static final ResourceLocation INV_TRASH = AE2wtlib.makeID("wct_trash");

public WCTMenuHost(final Player ep, @Nullable Integer inventorySlot, final ItemStack is,
BiConsumer<Player, ISubMenu> returnToMainMenu) {
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/de/mari_023/ae2wtlib/wct/WCTScreen.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

import net.minecraft.client.Minecraft;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;

import de.mari_023.ae2wtlib.AE2wtlib;
Expand All @@ -31,11 +30,11 @@ public WCTScreen(WCTMenu container, Inventory playerInventory, Component title,
addToLeftToolbar(new CycleTerminalButton(btn -> cycleTerminal()));

magnetCardToggleButton = new ItemButton(btn -> setMagnetMode(),
new ResourceLocation(AE2wtlib.MOD_NAME, "textures/item/magnet_card.png"));
AE2wtlib.makeID("textures/item/magnet_card.png"));
addToLeftToolbar(magnetCardToggleButton);

magnetCardMenuButton = new ItemButton(btn -> getMenu().openMagnetMenu(),
new ResourceLocation(AE2wtlib.MOD_NAME, "textures/item/magnet_card.png"));
AE2wtlib.makeID("textures/item/magnet_card.png"));
addToLeftToolbar(magnetCardMenuButton);
magnetCardMenuButton.setMessage(TextConstants.MAGNET_FILTER);
IconButton deleteButton = new IconButton(btn -> getMenu().openTrashMenu()) {
Expand Down

0 comments on commit 53aa7b8

Please sign in to comment.