Skip to content

Commit

Permalink
feat: port to 1.20.1
Browse files Browse the repository at this point in the history
  • Loading branch information
MrTJP committed May 5, 2024
1 parent 826cd3c commit 53cbe19
Show file tree
Hide file tree
Showing 261 changed files with 2,035 additions and 1,687 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ A Minecraft Forge mod all about Redstone circuity.

| Release Branch | MC Version | Status |
|------------------------|:----------:|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `publish/1.20/release` | 1.20.1 | [![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.20-release.json)](https://www.curseforge.com/minecraft/mc-mods/project-red-core) |
| `publish/1.20/beta` | 1.20.1 | [![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.20-beta.json)](https://www.curseforge.com/minecraft/mc-mods/project-red-core) |
| `publish/1.19/release` | 1.19.2 | [![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.19-release.json)](https://www.curseforge.com/minecraft/mc-mods/project-red-core) |
| `publish/1.19/beta` | 1.19.2 | [![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.19-beta.json)](https://www.curseforge.com/minecraft/mc-mods/project-red-core) |
| `publish/1.18/release` | 1.18.2 | [![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/MrTJP/3ef501bc64c896a86fd706dfea8ba367/raw/projectred-badge-1.18-release.json)](https://www.curseforge.com/minecraft/mc-mods/project-red-core) |
Expand Down
4 changes: 2 additions & 2 deletions api/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'net.minecraftforge.gradle'
id 'net.neoforged.gradle'
}

minecraft {
Expand All @@ -8,6 +8,6 @@ minecraft {
}

dependencies {
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
minecraft "net.neoforged:forge:${mc_version}-${forge_version}"
}

12 changes: 7 additions & 5 deletions core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'net.minecraftforge.gradle'
id 'net.neoforged.gradle'
id 'com.matthewprenger.cursegradle'
}

Expand Down Expand Up @@ -28,9 +28,9 @@ minecraft {
}

dependencies {
minecraft "net.minecraftforge:forge:${mc_version}-${forge_version}"
minecraft "net.neoforged:forge:${mc_version}-${forge_version}"

implementation fg.deobf("codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal")
implementation fg.deobf("io.codechicken:CodeChickenLib:${mc_version}-${ccl_version}:universal")
implementation fg.deobf("codechicken:CBMultipart:${mc_version}-${cbm_version}:universal")

// JEI
Expand All @@ -39,8 +39,10 @@ dependencies {
runtimeOnly(fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}"))

// CCTweaked
compileOnly fg.deobf("org.squiddev:cc-tweaked-${mc_version}:${cct_version}:api")
runtimeOnly fg.deobf("org.squiddev:cc-tweaked-${mc_version}:${cct_version}")
compileOnly("cc.tweaked:cc-tweaked-${mc_version}-common-api:${cct_version}")
compileOnly("cc.tweaked:cc-tweaked-${mc_version}-core-api:${cct_version}")
compileOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge-api:${cct_version}"))
runtimeOnly(fg.deobf("cc.tweaked:cc-tweaked-${mc_version}-forge:${cct_version}"))

testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.19.2 2024-03-04T11:18:00.069539 ProjectRed-Core Block Loot Tables
// 1.20.1 2024-05-02T16:36:18.642499 projectred_core Block Loot Tables
edf858efe8491e7cce71f1a266f10e218c81a42c data/projectred_core/loot_tables/blocks/electrotine_generator.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.19.2 2024-03-04T11:18:00.067912 ProjectRed-Core Languages: en_us
// 1.20.1 2024-05-02T16:36:18.64587 ProjectRed-Core Languages: en_us
789a8db6ffa570c8db0bb245338757a5c3790ae6 assets/projectred_core/lang/en_us.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.19.2 2024-03-04T11:18:00.068664 ProjectRed-Core Recipes
// 1.20.1 2024-05-02T16:36:18.636221 projectred_core Recipes.
6df9318cfe3b74a47229e918565717ef412c448a data/projectred_core/recipes/anode.json
f250ff3d3454f55fadea66dc89afea26c601ae4d data/projectred_core/recipes/black_illumar.json
236725b2b0282de7ba2f80261320dcde31ed3df8 data/projectred_core/recipes/blue_illumar.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.19.2 2024-03-04T11:18:00.061721 ProjectRed-Core Item Tags
// 1.20.1 2024-05-02T16:36:18.646512 Tags for minecraft:item mod id projectred_core
92105d826828321073ede0ce0ecce9d84a8df0db data/forge/tags/items/dusts.json
6a3de78381bcb92b0a8f9953c598cf7fc42cb3c6 data/forge/tags/items/dusts/electrotine.json
9bb828e78355e586e44d0350583fbdf5610a36f6 data/forge/tags/items/gems.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.19.2 2024-03-04T11:18:00.065557 ProjectRed-Core Item Models
// 1.20.1 2024-05-02T16:36:18.646807 projectred_core Item models.
b12b23b4ee2dfe55a99741d7fe8e6f4787e348c5 assets/projectred_core/models/item/anode.json
862e1a7b058c18759bc2dddce1211e6b3b96f341 assets/projectred_core/models/item/black_illumar.json
8da2c7613c8d8a99280b69d798966b4556950a49 assets/projectred_core/models/item/blue_illumar.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.19.2 2024-03-04T11:18:00.069767 ProjectRed-Core Block Tags
// 1.20.1 2024-05-02T16:36:18.649205 Tags for minecraft:block mod id projectred_core
dabd78c12058db0f6f5c9f20eb3ab78775843770 data/minecraft/tags/blocks/mineable/pickaxe.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.19.2 2024-03-04T11:18:00.068435 ProjectRed-Core Block State Models
// 1.20.1 2024-05-02T16:36:18.64417 ProjectRed-Core Block State Models
2066fd5cf5e8c7b963f617014ef5e6fe2bf6671a assets/projectred_core/blockstates/electrotine_generator.json
76a3e81fab4af40997c86364497b3c682571c4bd assets/projectred_core/models/block/electrotine_generator.json
2320dfd49b9c2dc8024323870ab92e6ed68b2f1f assets/projectred_core/models/block/electrotine_generator_state1.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package mrtjp.projectred.compatibility;

import dan200.computercraft.api.ComputerCraftAPI;
import dan200.computercraft.api.redstone.IBundledRedstoneProvider;
import dan200.computercraft.api.redstone.BundledRedstoneProvider;
import mrtjp.projectred.api.IBundledTileInteraction;
import mrtjp.projectred.api.ProjectRedAPI;
import mrtjp.projectred.core.BundledSignalsLib;
Expand All @@ -26,7 +26,7 @@ public static void init(Object ccModObject) {
/**
* This is used by ComputerCraft to query bundled signals from third-party entities
*/
private static class CCPRBundledRedstoneProvider implements IBundledRedstoneProvider {
private static class CCPRBundledRedstoneProvider implements BundledRedstoneProvider {
@Override
public int getBundledRedstoneOutput(@Nonnull Level world, @Nonnull BlockPos pos, @Nonnull Direction side) {
assert ProjectRedAPI.transmissionAPI != null;
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/mrtjp/projectred/core/CoreNetwork.java
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ private static class ServerHandler implements ICustomPacketHandler.IServerPacket
public void handlePacket(PacketCustom packet, ServerPlayer sender, ServerGamePacketListenerImpl handler) {
switch (packet.getType()) {
case NET_TILE_PACKET_TO_SERVER:
handleTilePacket(sender.getLevel(), packet, sender);
handleTilePacket(sender.level(), packet, sender);
break;
default:
// unknown key
Expand Down
28 changes: 17 additions & 11 deletions core/src/main/java/mrtjp/projectred/core/ProjectRedCore.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
package mrtjp.projectred.core;

import codechicken.lib.gui.SimpleCreativeTab;
import codechicken.multipart.api.MultipartType;
import mrtjp.projectred.compatibility.ComputerCraftCompatibility;
import mrtjp.projectred.core.data.*;
import mrtjp.projectred.core.init.*;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.data.BlockTagsProvider;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.IEventBus;
Expand Down Expand Up @@ -41,14 +43,14 @@ public class ProjectRedCore {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MOD_ID);
public static final DeferredRegister<RecipeSerializer<?>> RECIPE_SERIALIZERS = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, MOD_ID);
public static final DeferredRegister<MultipartType<?>> PART_TYPES = DeferredRegister.create(MultipartType.MULTIPART_TYPES, MOD_ID);

public static final SimpleCreativeTab CORE_CREATIVE_TAB = new SimpleCreativeTab(MOD_ID, () -> new ItemStack(CoreItems.RED_ALLOY_INGOT_ITEM.get()));
public static final DeferredRegister<CreativeModeTab> CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID);

static {
CoreBlocks.register();
CoreItems.register();
CoreMenus.register();
CoreParts.register();
CoreCreativeModeTabs.register();
}

public ProjectRedCore() {
Expand All @@ -64,6 +66,7 @@ public ProjectRedCore() {
BLOCK_ENTITY_TYPES.register(modEventBus);
MENU_TYPES.register(modEventBus);
PART_TYPES.register(modEventBus);
CREATIVE_TABS.register(modEventBus);
}

private void commonSetup(final FMLCommonSetupEvent event) {
Expand All @@ -83,15 +86,18 @@ private void commonSetup(final FMLCommonSetupEvent event) {
private void onGatherDataEvent(final GatherDataEvent event) {

DataGenerator generator = event.getGenerator();
PackOutput output = generator.getPackOutput();
ExistingFileHelper fileHelper = event.getExistingFileHelper();

generator.addProvider(event.includeClient(), new CoreBlockStateModelProvider(generator, fileHelper));
generator.addProvider(event.includeClient(), new CoreItemModelProvider(generator, fileHelper));
generator.addProvider(event.includeClient(), new CoreLanguageProvider(generator));
generator.addProvider(event.includeClient(), new CoreBlockStateModelProvider(output, fileHelper));
generator.addProvider(event.includeClient(), new CoreItemModelProvider(output, fileHelper));
generator.addProvider(event.includeClient(), new CoreLanguageProvider(output));

generator.addProvider(event.includeServer(), new CoreRecipeProvider(output));
generator.addProvider(event.includeServer(), new CoreLootTableProvider(output));

generator.addProvider(event.includeServer(), new CoreRecipeProvider(generator));
generator.addProvider(event.includeServer(), new CoreLootTableProvider(generator));
generator.addProvider(event.includeServer(), new CoreItemTagsProvider(generator, fileHelper));
generator.addProvider(event.includeServer(), new CoreBlockTagsProvider(generator, fileHelper));
BlockTagsProvider blockTagsProvider = new CoreBlockTagsProvider(output, event.getLookupProvider(), fileHelper);
generator.addProvider(event.includeServer(), blockTagsProvider);
generator.addProvider(event.includeServer(), new CoreItemTagsProvider(output, event.getLookupProvider(), blockTagsProvider.contentsGetter(), fileHelper));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.IntegerProperty;
import net.minecraft.world.level.material.Material;
import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.phys.BlockHitResult;
import org.jetbrains.annotations.Nullable;

Expand All @@ -31,8 +31,8 @@ public abstract class ProjectRedBlock extends Block implements EntityBlock {
public static final BooleanProperty WORKING = BooleanProperty.create("working");
public static final BooleanProperty ACTIVE = BooleanProperty.create("active");

public static final BlockBehaviour.Properties WOODEN_PROPERTIES = BlockBehaviour.Properties.of(Material.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD);
public static final BlockBehaviour.Properties STONE_PROPERTIES = BlockBehaviour.Properties.of(Material.STONE).requiresCorrectToolForDrops().strength(3.0F, 3.0F).sound(SoundType.STONE);
public static final BlockBehaviour.Properties WOODEN_PROPERTIES = BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.0F, 3.0F).sound(SoundType.WOOD);
public static final BlockBehaviour.Properties STONE_PROPERTIES = BlockBehaviour.Properties.of().mapColor(MapColor.STONE).requiresCorrectToolForDrops().strength(3.0F, 3.0F).sound(SoundType.STONE);

public ProjectRedBlock(BlockBehaviour.Properties properties) {
super(properties);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import com.google.gson.JsonSyntaxException;
import com.mojang.blaze3d.pipeline.RenderTarget;
import com.mojang.math.Matrix4f;
import mrtjp.projectred.core.ProjectRedCore;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.PostChain;
import net.minecraft.client.renderer.PostPass;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.ResourceManager;
import org.joml.Matrix4f;

import java.io.IOException;
import java.util.HashMap;
Expand Down Expand Up @@ -82,7 +82,7 @@ public void resize(int newWidth, int newHeight) {

// Re-compute projection matrices scaled to each pass's input
for (PostPass pass : this.passes) {
Matrix4f orthoMatrix = Matrix4f.orthographic(0.0F, (float) pass.inTarget.width, (float) pass.inTarget.height, 0.0F, 0.1F, 1000.0F);
Matrix4f orthoMatrix = new Matrix4f().setOrtho(0.0F, (float) pass.inTarget.width, 0.0F, (float) pass.inTarget.height, 0.1F, 1000.0F);
pass.setOrthoMatrix(orthoMatrix);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package mrtjp.projectred.core.client;

import codechicken.lib.model.PerspectiveModelState;
import codechicken.lib.render.CCModel;
import codechicken.lib.render.CCRenderState;
import codechicken.lib.render.block.ICCBlockRenderer;
import codechicken.lib.render.buffer.TransformingVertexConsumer;
import codechicken.lib.render.item.IItemRenderer;
import codechicken.lib.util.TransformUtils;
import codechicken.lib.vec.Cuboid6;
import codechicken.lib.vec.Rotation;
import codechicken.lib.vec.Vector3;
Expand All @@ -17,9 +15,9 @@
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.block.model.ItemTransforms;
import net.minecraft.core.BlockPos;
import net.minecraft.util.RandomSource;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
Expand Down Expand Up @@ -73,7 +71,7 @@ public void renderBlock(BlockState state, BlockPos pos, BlockAndTintGetter world
}

@Override
public void renderItem(ItemStack stack, ItemTransforms.TransformType transformType, PoseStack mStack, MultiBufferSource source, int packedLight, int packedOverlay) {
public void renderItem(ItemStack stack, ItemDisplayContext transformType, PoseStack mStack, MultiBufferSource source, int packedLight, int packedOverlay) {

CCRenderState ccrs = CCRenderState.instance();
ccrs.reset();
Expand Down
14 changes: 10 additions & 4 deletions core/src/main/java/mrtjp/projectred/core/client/HaloRenderer.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import net.minecraft.core.BlockPos;
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.client.event.RenderLevelLastEvent;
import net.minecraftforge.client.event.RenderLevelStageEvent;
import org.jetbrains.annotations.Nullable;

Expand All @@ -29,6 +28,8 @@

import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static net.minecraft.client.renderer.RenderStateShard.*;
import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_LEVEL;
import static net.minecraftforge.client.event.RenderLevelStageEvent.Stage.AFTER_PARTICLES;

public class HaloRenderer {

Expand Down Expand Up @@ -116,9 +117,14 @@ public static void addLight(Transformation t, int colour, Cuboid6 box) {

public static void onRenderWorldStageEvent(final RenderLevelStageEvent event) {

if (event.getStage() != RenderLevelStageEvent.Stage.AFTER_PARTICLES) {
return;
if (event.getStage().equals(AFTER_PARTICLES)) {
onRenderStageAfterParticles(event);
} else if (event.getStage().equals(AFTER_LEVEL)) {
onRenderStageAfterLevel(event);
}
}

private static void onRenderStageAfterParticles(final RenderLevelStageEvent event) {

if (levelLights.isEmpty()) {
return;
Expand Down Expand Up @@ -173,7 +179,7 @@ public static void onRenderWorldStageEvent(final RenderLevelStageEvent event) {
stack.popPose();
}

public static void onRenderWorldLastEvent(final RenderLevelLastEvent event) {
private static void onRenderStageAfterLevel(final RenderLevelStageEvent event) {

// Unfabulous rendering. Batched rendering doesn't seem to work from stage events when not
// on fabulous for some reason, so we have to do it here instead.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package mrtjp.projectred.core.data;

import mrtjp.projectred.core.block.ProjectRedBlock;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.client.model.generators.BlockModelBuilder;
import net.minecraftforge.client.model.generators.BlockStateProvider;
Expand All @@ -18,8 +18,8 @@
@SuppressWarnings("DataFlowIssue")
public class CoreBlockStateModelProvider extends BlockStateProvider {

public CoreBlockStateModelProvider(DataGenerator gen, ExistingFileHelper exFileHelper) {
super(gen, MOD_ID, exFileHelper);
public CoreBlockStateModelProvider(PackOutput output, ExistingFileHelper exFileHelper) {
super(output, MOD_ID, exFileHelper);
}

@Nonnull
Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,25 @@
package mrtjp.projectred.core.data;

import net.minecraft.data.DataGenerator;
import net.minecraft.data.tags.BlockTagsProvider;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput;
import net.minecraft.tags.BlockTags;
import net.minecraftforge.common.data.BlockTagsProvider;
import net.minecraftforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;

import java.util.concurrent.CompletableFuture;

import static mrtjp.projectred.core.ProjectRedCore.MOD_ID;
import static mrtjp.projectred.core.init.CoreBlocks.ELECTROTINE_GENERATOR_BLOCK;

public class CoreBlockTagsProvider extends BlockTagsProvider {

public CoreBlockTagsProvider(DataGenerator gen, @Nullable ExistingFileHelper existingFileHelper) {
super(gen, MOD_ID, existingFileHelper);
}

@Override
public String getName() {
return "ProjectRed-Core Block Tags";
public CoreBlockTagsProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> lookupProvider, @Nullable ExistingFileHelper existingFileHelper) {
super(output, lookupProvider, MOD_ID, existingFileHelper);
}

@Override
protected void addTags() {
protected void addTags(HolderLookup.Provider pProvider) {

tag(BlockTags.MINEABLE_WITH_PICKAXE)
.add(ELECTROTINE_GENERATOR_BLOCK.get());
Expand Down
Loading

0 comments on commit 53cbe19

Please sign in to comment.