Fix server loading issues

This commit is contained in:
raoulvdberge
2021-12-15 18:20:08 +01:00
parent ca0d0032e4
commit 4725a1d782
3 changed files with 160 additions and 159 deletions

View File

@@ -33,23 +33,28 @@ public final class RS {
public static final ClientConfig CLIENT_CONFIG = new ClientConfig();
public RS() {
DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> ClientSetup::new);
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> {
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onClientSetup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onModelBake);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onModelRegistry);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onTextureStitch);
MinecraftForge.EVENT_BUS.addListener(ClientSetup::addReloadListener);
});
MinecraftForge.EVENT_BUS.register(new ServerSetup());
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, SERVER_CONFIG.getSpec());
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, CLIENT_CONFIG.getSpec());
CommonSetup commonSetup = new CommonSetup();
RSBlocks.register();
RSItems.register();
RSLootFunctions.register();
FMLJavaModLoadingContext.get().getModEventBus().addListener(commonSetup::onCommonSetup);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(BlockEntityType.class, commonSetup::onRegisterBlockEntities);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(RecipeSerializer.class, commonSetup::onRegisterRecipeSerializers);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(MenuType.class, commonSetup::onRegisterMenus);
FMLJavaModLoadingContext.get().getModEventBus().addListener(commonSetup::onRegisterCapabilities);
FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::onCommonSetup);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(BlockEntityType.class, CommonSetup::onRegisterBlockEntities);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(RecipeSerializer.class, CommonSetup::onRegisterRecipeSerializers);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(MenuType.class, CommonSetup::onRegisterMenus);
FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::onRegisterCapabilities);
FMLJavaModLoadingContext.get().getModEventBus().register(new DataGenerators());
FMLJavaModLoadingContext.get().getModEventBus().register(new CuriosIntegration());

View File

@@ -10,10 +10,10 @@ import com.refinedmods.refinedstorage.item.property.ControllerItemPropertyGetter
import com.refinedmods.refinedstorage.item.property.NetworkItemPropertyGetter;
import com.refinedmods.refinedstorage.item.property.SecurityCardItemPropertyGetter;
import com.refinedmods.refinedstorage.render.BakedModelOverrideRegistry;
import com.refinedmods.refinedstorage.render.blockentity.StorageMonitorBlockEntityRenderer;
import com.refinedmods.refinedstorage.render.color.PatternItemColor;
import com.refinedmods.refinedstorage.render.model.*;
import com.refinedmods.refinedstorage.render.resourcepack.ResourcePackListener;
import com.refinedmods.refinedstorage.render.blockentity.StorageMonitorBlockEntityRenderer;
import com.refinedmods.refinedstorage.screen.*;
import com.refinedmods.refinedstorage.screen.factory.CrafterManagerScreenFactory;
import com.refinedmods.refinedstorage.screen.factory.GridScreenFactory;
@@ -40,7 +40,6 @@ import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.AddReloadListenerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import java.util.Arrays;
import java.util.function.BiConsumer;
@@ -53,149 +52,17 @@ public class ClientSetup {
private static final ResourceLocation CONNECTED = new ResourceLocation("connected");
private final BakedModelOverrideRegistry bakedModelOverrideRegistry = new BakedModelOverrideRegistry();
private static final BakedModelOverrideRegistry BAKED_MODEL_OVERRIDE_REGISTRY = new BakedModelOverrideRegistry();
public ClientSetup() {
forEachColorApply("controller", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
new ResourceLocation(RS.ID, "block/controller/cutouts/" + color),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on"))
));
forEachColorApply("creative_controller", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
new ResourceLocation(RS.ID, "block/controller/cutouts/" + color),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on"))
));
forEachColorApply("grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/grid/cutouts/"))));
forEachColorApply("crafting_grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_grid/cutouts/"))));
forEachColorApply("pattern_grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/pattern_grid/cutouts/"))));
forEachColorApply("fluid_grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/fluid_grid/cutouts/"))));
forEachColorApply("network_receiver", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_receiver/cutouts/"))));
forEachColorApply("network_transmitter", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_transmitter/cutouts/"))));
forEachColorApply("relay", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/relay/cutouts/"))));
forEachColorApply("detector", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/detector/cutouts/"))));
forEachColorApply("security_manager", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
getMultipleColoredModels(color, "block/security_manager/cutouts/top_",
"block/security_manager/cutouts/front_",
"block/security_manager/cutouts/left_",
"block/security_manager/cutouts/back_",
"block/security_manager/cutouts/right_")
)));
forEachColorApply("wireless_transmitter", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/wireless_transmitter/cutouts/"))));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "disk_drive"), (base, registry) -> new FullbrightBakedModel(
new DiskDriveBakedModel(
base,
registry.get(DISK_RESOURCE),
registry.get(DISK_NEAR_CAPACITY_RESOURCE),
registry.get(DISK_FULL_RESOURCE),
registry.get(DISK_DISCONNECTED_RESOURCE)
),
false,
new ResourceLocation(RS.ID, "block/disks/leds")
));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "cable"), (base, registry) -> new BakedModelCableCover(base));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "exporter"), (base, registry) -> new BakedModelCableCover(base));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "importer"), (base, registry) -> new BakedModelCableCover(base));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "constructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/constructor/cutouts/connected"))));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "destructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/destructor/cutouts/connected"))));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "external_storage"), (base, registry) -> new BakedModelCableCover(base));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.NORMAL));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "hollow_cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.HOLLOW));
forEachColorApply("disk_manipulator", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(
new DiskManipulatorBakedModel(
registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/" + color)),
registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/disconnected")),
registry.get(DISK_RESOURCE),
registry.get(DISK_NEAR_CAPACITY_RESOURCE),
registry.get(DISK_FULL_RESOURCE),
registry.get(DISK_DISCONNECTED_RESOURCE)
),
false,
new ResourceLocation(RS.ID, "block/disks/leds"), new ResourceLocation(RS.ID, "block/disk_manipulator/cutouts/" + color)
)));
for (String portableGridName : new String[]{"portable_grid", "creative_portable_grid"}) {
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, portableGridName), (base, registry) -> new FullbrightBakedModel(
new PortableGridBakedModel(
registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_connected")),
registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_disconnected")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_near_capacity")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_full")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_disconnected"))
),
false,
new ResourceLocation(RS.ID + ":block/disks/leds")
));
}
forEachColorApply("crafter", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
getMultipleColoredModels(color, "block/crafter/cutouts/side_", "block/crafter/cutouts/top_")
)));
forEachColorApply("crafter_manager", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafter_manager/cutouts/"))));
forEachColorApply("crafting_monitor", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_monitor/cutouts/"))));
bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "pattern"), (base, registry) -> new PatternBakedModel(base));
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onModelBake);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onModelRegistry);
MinecraftForge.EVENT_BUS.addListener(this::addReloadListener);
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onTextureStitch);
API.instance().addPatternRenderHandler(pattern -> Screen.hasShiftDown());
API.instance().addPatternRenderHandler(pattern -> {
AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu;
if (container instanceof CrafterManagerContainerMenu) {
for (Slot slot : container.slots) {
if (slot instanceof CrafterManagerSlot && slot.getItem() == pattern) {
return true;
}
}
}
return false;
});
API.instance().addPatternRenderHandler(pattern -> {
AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu;
if (container instanceof CrafterContainerMenu) {
for (int i = 0; i < 9; ++i) {
if (container.getSlot(i).getItem() == pattern) {
return true;
}
}
}
return false;
});
}
private ResourceLocation[] getMultipleColoredModels(DyeColor color, String... paths) {
private static ResourceLocation[] getMultipleColoredModels(DyeColor color, String... paths) {
return Arrays.stream(paths).map(path -> getColoredModel(color, path)).toArray(ResourceLocation[]::new);
}
private ResourceLocation getColoredModel(DyeColor color, String path) {
private static ResourceLocation getColoredModel(DyeColor color, String path) {
return new ResourceLocation(RS.ID, path + color);
}
private void forEachColorApply(String name, BiConsumer<ResourceLocation, DyeColor> consumer) {
private static void forEachColorApply(String name, BiConsumer<ResourceLocation, DyeColor> consumer) {
for (DyeColor color : DyeColor.values()) {
String prefix = color == ColorMap.DEFAULT_COLOR ? "" : color + "_";
consumer.accept(new ResourceLocation(RS.ID, prefix + name), color);
@@ -203,9 +70,12 @@ public class ClientSetup {
}
@SubscribeEvent
public void onClientSetup(FMLClientSetupEvent e) {
public static void onClientSetup(FMLClientSetupEvent e) {
MinecraftForge.EVENT_BUS.register(new KeyInputListener());
registerBakedModelOverrides();
registerPatternRenderHandlers();
MenuScreens.register(RSContainerMenus.FILTER, FilterScreen::new);
MenuScreens.register(RSContainerMenus.CONTROLLER, ControllerScreen::new);
MenuScreens.register(RSContainerMenus.DISK_DRIVE, DiskDriveScreen::new);
@@ -280,13 +150,138 @@ public class ClientSetup {
ItemProperties.register(RSItems.CREATIVE_WIRELESS_FLUID_GRID.get(), CONNECTED, new NetworkItemPropertyGetter());
}
private static void registerPatternRenderHandlers() {
API.instance().addPatternRenderHandler(pattern -> Screen.hasShiftDown());
API.instance().addPatternRenderHandler(pattern -> {
AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu;
if (container instanceof CrafterManagerContainerMenu) {
for (Slot slot : container.slots) {
if (slot instanceof CrafterManagerSlot && slot.getItem() == pattern) {
return true;
}
}
}
return false;
});
API.instance().addPatternRenderHandler(pattern -> {
AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu;
if (container instanceof CrafterContainerMenu) {
for (int i = 0; i < 9; ++i) {
if (container.getSlot(i).getItem() == pattern) {
return true;
}
}
}
return false;
});
}
private static void registerBakedModelOverrides() {
forEachColorApply("controller", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
new ResourceLocation(RS.ID, "block/controller/cutouts/" + color),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on"))
));
forEachColorApply("creative_controller", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
new ResourceLocation(RS.ID, "block/controller/cutouts/" + color),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"),
new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on"))
));
forEachColorApply("grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/grid/cutouts/"))));
forEachColorApply("crafting_grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_grid/cutouts/"))));
forEachColorApply("pattern_grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/pattern_grid/cutouts/"))));
forEachColorApply("fluid_grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/fluid_grid/cutouts/"))));
forEachColorApply("network_receiver", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_receiver/cutouts/"))));
forEachColorApply("network_transmitter", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_transmitter/cutouts/"))));
forEachColorApply("relay", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/relay/cutouts/"))));
forEachColorApply("detector", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/detector/cutouts/"))));
forEachColorApply("security_manager", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
getMultipleColoredModels(color, "block/security_manager/cutouts/top_",
"block/security_manager/cutouts/front_",
"block/security_manager/cutouts/left_",
"block/security_manager/cutouts/back_",
"block/security_manager/cutouts/right_")
)));
forEachColorApply("wireless_transmitter", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/wireless_transmitter/cutouts/"))));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "disk_drive"), (base, registry) -> new FullbrightBakedModel(
new DiskDriveBakedModel(
base,
registry.get(DISK_RESOURCE),
registry.get(DISK_NEAR_CAPACITY_RESOURCE),
registry.get(DISK_FULL_RESOURCE),
registry.get(DISK_DISCONNECTED_RESOURCE)
),
false,
new ResourceLocation(RS.ID, "block/disks/leds")
));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "cable"), (base, registry) -> new BakedModelCableCover(base));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "exporter"), (base, registry) -> new BakedModelCableCover(base));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "importer"), (base, registry) -> new BakedModelCableCover(base));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "constructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/constructor/cutouts/connected"))));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "destructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/destructor/cutouts/connected"))));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "external_storage"), (base, registry) -> new BakedModelCableCover(base));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.NORMAL));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "hollow_cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.HOLLOW));
forEachColorApply("disk_manipulator", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(
new DiskManipulatorBakedModel(
registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/" + color)),
registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/disconnected")),
registry.get(DISK_RESOURCE),
registry.get(DISK_NEAR_CAPACITY_RESOURCE),
registry.get(DISK_FULL_RESOURCE),
registry.get(DISK_DISCONNECTED_RESOURCE)
),
false,
new ResourceLocation(RS.ID, "block/disks/leds"), new ResourceLocation(RS.ID, "block/disk_manipulator/cutouts/" + color)
)));
for (String portableGridName : new String[]{"portable_grid", "creative_portable_grid"}) {
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, portableGridName), (base, registry) -> new FullbrightBakedModel(
new PortableGridBakedModel(
registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_connected")),
registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_disconnected")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_near_capacity")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_full")),
registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_disconnected"))
),
false,
new ResourceLocation(RS.ID + ":block/disks/leds")
));
}
forEachColorApply("crafter", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(
base,
true,
getMultipleColoredModels(color, "block/crafter/cutouts/side_", "block/crafter/cutouts/top_")
)));
forEachColorApply("crafter_manager", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafter_manager/cutouts/"))));
forEachColorApply("crafting_monitor", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_monitor/cutouts/"))));
BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "pattern"), (base, registry) -> new PatternBakedModel(base));
}
@SubscribeEvent
public void addReloadListener(AddReloadListenerEvent event) {
public static void addReloadListener(AddReloadListenerEvent event) {
event.addListener(new ResourcePackListener());
}
@SubscribeEvent
public void onModelRegistry(ModelRegistryEvent e) {
public static void onModelRegistry(ModelRegistryEvent e) {
ForgeModelBakery.addSpecialModel(DISK_RESOURCE);
ForgeModelBakery.addSpecialModel(DISK_NEAR_CAPACITY_RESOURCE);
ForgeModelBakery.addSpecialModel(DISK_FULL_RESOURCE);
@@ -307,11 +302,11 @@ public class ClientSetup {
}
@SubscribeEvent
public void onModelBake(ModelBakeEvent e) {
public static void onModelBake(ModelBakeEvent e) {
FullbrightBakedModel.invalidateCache();
for (ResourceLocation id : e.getModelRegistry().keySet()) {
BakedModelOverrideRegistry.BakedModelOverrideFactory factory = this.bakedModelOverrideRegistry.get(new ResourceLocation(id.getNamespace(), id.getPath()));
BakedModelOverrideRegistry.BakedModelOverrideFactory factory = BAKED_MODEL_OVERRIDE_REGISTRY.get(new ResourceLocation(id.getNamespace(), id.getPath()));
if (factory != null) {
e.getModelRegistry().put(id, factory.create(e.getModelRegistry().get(id), e.getModelRegistry()));
@@ -320,8 +315,9 @@ public class ClientSetup {
}
@SubscribeEvent
public void onTextureStitch(TextureStitchEvent.Pre event) {
if (event.getAtlas().location().equals(InventoryMenu.BLOCK_ATLAS))
public static void onTextureStitch(TextureStitchEvent.Pre event) {
if (event.getAtlas().location().equals(InventoryMenu.BLOCK_ATLAS)) {
event.addSprite(new ResourceLocation(RS.ID, "block/cable_part_border"));
}
}
}

View File

@@ -59,7 +59,7 @@ import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
public class CommonSetup {
@SubscribeEvent
public void onCommonSetup(FMLCommonSetupEvent e) {
public static void onCommonSetup(FMLCommonSetupEvent e) {
RS.NETWORK_HANDLER.register();
MinecraftForge.EVENT_BUS.register(new NetworkNodeListener());
@@ -135,26 +135,26 @@ public class CommonSetup {
}
}
private INetworkNode readAndReturn(CompoundTag tag, NetworkNode node) {
private static INetworkNode readAndReturn(CompoundTag tag, NetworkNode node) {
node.read(tag);
return node;
}
@SubscribeEvent
public void onRegisterCapabilities(RegisterCapabilitiesEvent e) {
public static void onRegisterCapabilities(RegisterCapabilitiesEvent e) {
e.register(INetworkNodeProxy.class);
}
@SubscribeEvent
public void onRegisterRecipeSerializers(RegistryEvent.Register<RecipeSerializer<?>> e) {
public static void onRegisterRecipeSerializers(RegistryEvent.Register<RecipeSerializer<?>> e) {
e.getRegistry().register(new UpgradeWithEnchantedBookRecipeSerializer().setRegistryName(RS.ID, "upgrade_with_enchanted_book"));
e.getRegistry().register(CoverRecipe.SERIALIZER.setRegistryName(new ResourceLocation(RS.ID, "cover_recipe")));
e.getRegistry().register(HollowCoverRecipe.SERIALIZER.setRegistryName(new ResourceLocation(RS.ID, "hollow_cover_recipe")));
}
@SubscribeEvent
public void onRegisterBlockEntities(RegistryEvent.Register<BlockEntityType<?>> e) {
public static void onRegisterBlockEntities(RegistryEvent.Register<BlockEntityType<?>> e) {
e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.NORMAL, pos, state), RSBlocks.CONTROLLER.getBlocks()).build(null).setRegistryName(RS.ID, "controller")));
e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.CREATIVE, pos, state), RSBlocks.CREATIVE_CONTROLLER.getBlocks()).build(null).setRegistryName(RS.ID, "creative_controller")));
e.getRegistry().register(BlockEntityType.Builder.of(CableBlockEntity::new, RSBlocks.CABLE.get()).build(null).setRegistryName(RS.ID, "cable"));
@@ -199,7 +199,7 @@ public class CommonSetup {
e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new PortableGridBlockEntity(PortableGridBlockItem.Type.NORMAL, pos, state), RSBlocks.PORTABLE_GRID.get()).build(null).setRegistryName(RS.ID, "portable_grid")));
}
private <T extends BlockEntity> BlockEntityType<T> registerSynchronizationParameters(BlockEntityType<T> t) {
private static <T extends BlockEntity> BlockEntityType<T> registerSynchronizationParameters(BlockEntityType<T> t) {
BaseBlockEntity blockEntity = (BaseBlockEntity) t.create(BlockPos.ZERO, null);
blockEntity.getDataManager().getParameters().forEach(BlockEntitySynchronizationManager::registerParameter);
@@ -208,7 +208,7 @@ public class CommonSetup {
}
@SubscribeEvent
public void onRegisterMenus(RegistryEvent.Register<MenuType<?>> e) {
public static void onRegisterMenus(RegistryEvent.Register<MenuType<?>> e) {
e.getRegistry().register(IForgeMenuType.create((windowId, inv, data) -> new FilterContainerMenu(inv.player, inv.getSelected(), windowId)).setRegistryName(RS.ID, "filter"));
e.getRegistry().register(IForgeMenuType.create(((windowId, inv, data) -> new ControllerContainerMenu(null, inv.player, windowId))).setRegistryName(RS.ID, "controller"));
e.getRegistry().register(IForgeMenuType.create(new BlockEntityContainerFactory<DiskDriveContainerMenu, DiskDriveBlockEntity>((windowId, inv, blockEntity) -> new DiskDriveContainerMenu(blockEntity, inv.player, windowId))).setRegistryName(RS.ID, "disk_drive"));