Skip to content

Commit

Permalink
feat: update to 1.19.3 (#65)
Browse files Browse the repository at this point in the history
* chore: update forge version

* feat: misc 1.19.3 updates

* feat: update theurgy creative mode tab

* feat: update datagen

* fix: creative mode tabs classloading error

* fix: divination rod classloading error

* chore: remove unnecessary dist side guard
  • Loading branch information
klikli-dev authored Dec 12, 2022
1 parent 5c30dd9 commit 227d993
Show file tree
Hide file tree
Showing 22 changed files with 144 additions and 151 deletions.
7 changes: 4 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -121,9 +121,10 @@ dependencies {
minecraft "net.minecraftforge:forge:${forge_version}"

//Jei
compileOnly fg.deobf("mezz.jei:jei-${jei_mc_version}-common-api:${jei_version}")
compileOnly fg.deobf("mezz.jei:jei-${jei_mc_version}-forge-api:${jei_version}")
runtimeOnly fg.deobf("mezz.jei:jei-${jei_mc_version}-forge:${jei_version}")
//TODO: renable once updated
// compileOnly fg.deobf("mezz.jei:jei-${jei_mc_version}-common-api:${jei_version}")
// compileOnly fg.deobf("mezz.jei:jei-${jei_mc_version}-forge-api:${jei_version}")
// runtimeOnly fg.deobf("mezz.jei:jei-${jei_mc_version}-forge:${jei_version}")

compileOnly fg.deobf("com.klikli_dev:modonomicon:${modonomicon_mc_version}-${modonomicon_version}") //we build against full jar because we NEED IT ALL
runtimeOnly fg.deobf("com.klikli_dev:modonomicon:${modonomicon_mc_version}-${modonomicon_version}")
Expand Down
11 changes: 5 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,15 @@ org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.0.1
mc_version=1.19.2

forge_version=1.19.2-43.1.57
mc_version=1.19.3
forge_version=1.19.3-44.0.7

mapping_channel=parchment
#postfix is target mc version, optional prefix is source parchment mc version
mapping_version=2022.08.10-1.19.2
mapping_version=1.19.2-2022.11.27-1.19.3

jei_mc_version=1.19.2
jei_version=11.4.0.286

modonomicon_mc_version=1.19.2
modonomicon_version=1.15.0
modonomicon_mc_version=1.19.3
modonomicon_version=1.18.0
8 changes: 6 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# SPDX-FileCopyrightText: 2022 klikli-dev
#
# SPDX-License-Identifier: MIT

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
zipStorePath=wrapper/dists
5 changes: 1 addition & 4 deletions src/main/java/com/klikli_dev/theurgy/Theurgy.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,11 @@
import com.klikli_dev.theurgy.config.CommonConfig;
import com.klikli_dev.theurgy.config.ServerConfig;
import com.klikli_dev.theurgy.datagen.DataGenerators;
import com.klikli_dev.theurgy.item.TheurgyCreativeModeTab;
import com.klikli_dev.theurgy.network.Networking;
import com.klikli_dev.theurgy.registry.*;
import com.klikli_dev.theurgy.tooltips.TooltipHandler;
import com.mojang.logging.LogUtils;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.IEventBus;
Expand All @@ -35,8 +33,6 @@ public class Theurgy {
public static final String MODID = "theurgy";
public static final Logger LOGGER = LogUtils.getLogger();

public static final CreativeModeTab CREATIVE_MODE_TAB = new TheurgyCreativeModeTab();

public static Theurgy INSTANCE;

public Theurgy() {
Expand All @@ -59,6 +55,7 @@ public Theurgy() {
modEventBus.addListener(this::onServerSetup);

modEventBus.addListener(DataGenerators::gatherData);
modEventBus.addListener(ItemRegistry::onRegisterCreativeModeTabs);

MinecraftForge.EVENT_BUS.addListener(TooltipHandler::onItemTooltipEvent);

Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/klikli_dev/theurgy/TheurgyConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ public static class ItemProperty {

public static class I18n {

public static final String ITEM_GROUP = "itemGroup." + Theurgy.MODID;

public static class Tooltip {

private static final String PREFIX = "tooltip." + Theurgy.MODID + ".";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ public static void registerItemProperties(FMLClientSetupEvent event) {
//Not safe to call during parallel load, so register to run threadsafe
event.enqueueWork(() -> {
ItemProperties.register(ItemRegistry.DIVINATION_ROD_T1.get(),
TheurgyConstants.ItemProperty.DIVINATION_DISTANCE, DivinationRodItem.PropertyFunctions.DIVINATION_DISTANCE);
TheurgyConstants.ItemProperty.DIVINATION_DISTANCE, DivinationRodItem.DistHelper.DIVINATION_DISTANCE);
ItemProperties.register(ItemRegistry.DIVINATION_ROD_T4.get(),
TheurgyConstants.ItemProperty.DIVINATION_DISTANCE, DivinationRodItem.PropertyFunctions.DIVINATION_DISTANCE);
TheurgyConstants.ItemProperty.DIVINATION_DISTANCE, DivinationRodItem.DistHelper.DIVINATION_DISTANCE);

Theurgy.LOGGER.debug("Registered Item Properties");
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ public static void gatherData(GatherDataEvent event) {

generator.addProvider(event.includeClient(), new ENUSProvider(generator));
generator.addProvider(event.includeClient(), new ItemModelsProvider(generator, event.getExistingFileHelper()));
generator.addProvider(event.includeClient(), new RecipeProvider(generator));
generator.addProvider(event.includeClient(), new RecipeProvider(generator.getPackOutput()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,15 @@
import net.minecraftforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.registries.ForgeRegistries;

public class ItemModelsProvider extends ItemModelProvider {
public ItemModelsProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator, Theurgy.MODID, existingFileHelper);
}

protected String name(Item item) {
return Registry.ITEM.getKey(item).getPath();
return ForgeRegistries.ITEMS.getKey(item).getPath();
}

private void registerItemGenerated(String name) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,20 @@
package com.klikli_dev.theurgy.datagen;

import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.FinishedRecipe;

import java.util.function.Consumer;

public class RecipeProvider extends net.minecraft.data.recipes.RecipeProvider {
public RecipeProvider(DataGenerator pGenerator) {
super(pGenerator);
public RecipeProvider(PackOutput packOutput) {
super(packOutput);
}

@Override
protected void buildCraftingRecipes(Consumer<FinishedRecipe> pFinishedRecipeConsumer) {
protected void buildRecipes(Consumer<FinishedRecipe> pFinishedRecipeConsumer) {
//we need nbt output, so we use a manual json recipe
// ShapedRecipeBuilder.shaped(ItemRegistry.DIVINATION_ROD_T1.get())
// ShapedRecipeBuilder.shaped(ItemRegistry.DIVINATION_ROD_T1.get())
// .define('R', Tags.Items.RODS_WOODEN)
// .define('G', Tags.Items.GLASS)
// .pattern("RGR")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ private void addMessages() {
}

private void addItems() {
this.add(((TranslatableContents)Theurgy.CREATIVE_MODE_TAB.getDisplayName().getContents()).getKey(), "Theurgy");
this.add(TheurgyConstants.I18n.ITEM_GROUP, "Theurgy");

this.addItem(ItemRegistry.EMPTY_JAR, "Empty Jar");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtOps;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.SynchedEntityData;
Expand Down Expand Up @@ -185,8 +186,8 @@ public void addAdditionalSaveData(CompoundTag compound) {
}

@Override
public Packet<?> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
public Packet<ClientGamePacketListener> getAddEntityPacket() {
throw new UnsupportedOperationException();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,36 @@
package com.klikli_dev.theurgy.integration.jei;

import com.klikli_dev.theurgy.TheurgyConstants;
import mezz.jei.api.ingredients.subtypes.IIngredientSubtypeInterpreter;
import mezz.jei.api.ingredients.subtypes.UidContext;
//import mezz.jei.api.ingredients.subtypes.IIngredientSubtypeInterpreter;
//import mezz.jei.api.ingredients.subtypes.UidContext;
import net.minecraft.world.item.ItemStack;

public class DivinationRodSubtypeInterpreter implements IIngredientSubtypeInterpreter<ItemStack> {

private static final DivinationRodSubtypeInterpreter instance = new DivinationRodSubtypeInterpreter();


public static DivinationRodSubtypeInterpreter get() {
return instance;
}

@Override
public String apply(ItemStack ingredient, UidContext context) {
var tag = ingredient.getTag();

if(tag != null){
var settingTier = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_TIER);
var settingAllowedBlocksTag = tag.getString(TheurgyConstants.Nbt.Divination.SETTING_ALLOWED_BLOCKS_TAG);
var settingDisallowedBlocksTag = tag.getString(TheurgyConstants.Nbt.Divination.SETTING_DISALLOWED_BLOCKS_TAG);
var settingRange = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_RANGE);
var settingDuration = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_DURATION);
var settingDurability = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_DURABILITY);
var settingAllowAttuning = tag.getBoolean(TheurgyConstants.Nbt.Divination.SETTING_ALLOW_ATTUNING);

return String.format("%s_%s_%s_%s_%s_%s_%s", settingTier, settingAllowedBlocksTag, settingDisallowedBlocksTag, settingRange, settingDuration, settingDurability, settingAllowAttuning);
}

return IIngredientSubtypeInterpreter.NONE;
}
}
//TODO: reenable once jei updates
//public class DivinationRodSubtypeInterpreter implements IIngredientSubtypeInterpreter<ItemStack> {
//
// private static final DivinationRodSubtypeInterpreter instance = new DivinationRodSubtypeInterpreter();
//
//
// public static DivinationRodSubtypeInterpreter get() {
// return instance;
// }
//
// @Override
// public String apply(ItemStack ingredient, UidContext context) {
// var tag = ingredient.getTag();
//
// if(tag != null){
// var settingTier = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_TIER);
// var settingAllowedBlocksTag = tag.getString(TheurgyConstants.Nbt.Divination.SETTING_ALLOWED_BLOCKS_TAG);
// var settingDisallowedBlocksTag = tag.getString(TheurgyConstants.Nbt.Divination.SETTING_DISALLOWED_BLOCKS_TAG);
// var settingRange = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_RANGE);
// var settingDuration = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_DURATION);
// var settingDurability = tag.getInt(TheurgyConstants.Nbt.Divination.SETTING_DURABILITY);
// var settingAllowAttuning = tag.getBoolean(TheurgyConstants.Nbt.Divination.SETTING_ALLOW_ATTUNING);
//
// return String.format("%s_%s_%s_%s_%s_%s_%s", settingTier, settingAllowedBlocksTag, settingDisallowedBlocksTag, settingRange, settingDuration, settingDurability, settingAllowAttuning);
// }
//
// return IIngredientSubtypeInterpreter.NONE;
// }
//}
31 changes: 16 additions & 15 deletions src/main/java/com/klikli_dev/theurgy/integration/jei/JeiPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,21 @@

import com.klikli_dev.theurgy.Theurgy;
import com.klikli_dev.theurgy.registry.ItemRegistry;
import mezz.jei.api.IModPlugin;
import mezz.jei.api.registration.ISubtypeRegistration;
//import mezz.jei.api.IModPlugin;
//import mezz.jei.api.registration.ISubtypeRegistration;
import net.minecraft.resources.ResourceLocation;

@mezz.jei.api.JeiPlugin
public class JeiPlugin implements IModPlugin {
@Override
public ResourceLocation getPluginUid() {
return Theurgy.loc("jei_plugin");
}

@Override
public void registerItemSubtypes(ISubtypeRegistration registration) {
registration.registerSubtypeInterpreter(ItemRegistry.DIVINATION_ROD_T1.get(), DivinationRodSubtypeInterpreter.get());
registration.registerSubtypeInterpreter(ItemRegistry.DIVINATION_ROD_T4.get(), DivinationRodSubtypeInterpreter.get());
}
}
//TODO: reenable once jei updates
//@mezz.jei.api.JeiPlugin
//public class JeiPlugin implements IModPlugin {
// @Override
// public ResourceLocation getPluginUid() {
// return Theurgy.loc("jei_plugin");
// }
//
// @Override
// public void registerItemSubtypes(ISubtypeRegistration registration) {
// registration.registerSubtypeInterpreter(ItemRegistry.DIVINATION_ROD_T1.get(), DivinationRodSubtypeInterpreter.get());
// registration.registerSubtypeInterpreter(ItemRegistry.DIVINATION_ROD_T4.get(), DivinationRodSubtypeInterpreter.get());
// }
//}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.core.NonNullList;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.ComponentUtils;
import net.minecraft.network.chat.MutableComponent;
Expand All @@ -21,9 +20,7 @@
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.registries.ForgeRegistries;

import java.util.List;
Expand Down Expand Up @@ -83,24 +80,18 @@ public Component getName(ItemStack pStack) {
return super.getName(pStack);
}

@Override
public void fillItemCategory(CreativeModeTab tab, NonNullList<ItemStack> items) {
if (FMLEnvironment.dist == Dist.CLIENT) {
DistHelper.fillItemCategory(this, tab, items);
}
}

/**
* Inner class to avoid classloading issues on the server
*/
public static class DistHelper {
public static void fillItemCategory(AlchemicalSulfurItem item, CreativeModeTab tab, NonNullList<ItemStack> items) {

public static void registerCreativeModeTabs(AlchemicalSulfurItem item, CreativeModeTab.Output output) {
var level = Minecraft.getInstance().level;
if (level != null) {
var recipeManager = level.getRecipeManager();
recipeManager.getRecipes().forEach((recipe) -> {
if (recipe.getResultItem().getItem() == item) {
items.add(recipe.getResultItem().copy());
output.accept(recipe.getResultItem().copy());
}
});
}
Expand Down
Loading

0 comments on commit 227d993

Please sign in to comment.