Skip to content

Commit

Permalink
Fix code for 1.19
Browse files Browse the repository at this point in the history
  • Loading branch information
hlysine committed May 27, 2024
1 parent c2961bf commit 38ef585
Show file tree
Hide file tree
Showing 25 changed files with 169 additions and 102 deletions.
26 changes: 23 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,17 @@ repositories {
url = "https://maven.jamieswhiteshirt.com/libs-release"
content { includeGroup("com.jamieswhiteshirt") }
}
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
filter {
includeGroup "maven.modrinth"
}
}

// If you have mod jar dependencies in ./libs, you can declare them as a repository like so.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:flat_dir_resolver
Expand All @@ -133,14 +144,19 @@ dependencies {
modImplementation("com.tterrag.registrate_fabric:Registrate:${registrate_version}")
modImplementation("com.jozufozu.flywheel:flywheel-fabric-${flywheel_minecraft_version}:${flywheel_version}")
modImplementation("com.jamieswhiteshirt:reach-entity-attributes:$reach_entity_attributes_version")
modCompileOnly("com.simibubi.create:create-fabric-${create_minecraft_version}:${create_version}") { transitive = false }
modRuntimeOnly("com.simibubi.create:create-fabric-${create_minecraft_version}:${create_version}")
modCompileOnly("com.simibubi.create:create-fabric-${create_minecraft_version}:${create_version}") {
transitive = true
exclude group: "maven.modrinth"
}
modRuntimeOnly("com.simibubi.create:create-fabric-${create_minecraft_version}:${create_version}"){
exclude group: "maven.modrinth"
}
// todo: use porting lib when chunk_loading module gets backported
// for (String module in port_lib_modules.split(",")) {
// modImplementation(include("io.github.fabricators_of_create.Porting-Lib:$module:$port_lib_version"))
// }

modImplementation("fuzs.forgeconfigapiport:forgeconfigapiport-fabric:$config_api_version")
modImplementation("net.minecraftforge:forgeconfigapiport-fabric:$config_api_version")

// Example mod dependency with JEI - using the mod prefix ensures the dependency is remapped to your development mappings
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
Expand All @@ -150,6 +166,10 @@ dependencies {
// at runtime, use the full JEI jar for fabric
modRuntimeOnly("mezz.jei:jei-${jei_minecraft_version}-fabric:${jei_version}")

implementation 'javax.annotation:javax.annotation-api:1.3.2'

include(implementation(annotationProcessor("io.github.llamalad7:mixinextras-fabric:0.3.6")))

// Example mod dependency using a mod jar from ./libs with a flat dir repository
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
// The group id is ignored when searching -- in this case, it is "blank"
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ mapping_version=1.19.2:2022.11.27

## Dependency Properties

config_api_version=9.0.0
config_api_version_range=>=9.0.0
config_api_version=4.2.9
config_api_version_range=>=4.2.9

port_lib_version=2.3.0+1.20.1
port_lib_version=2.1.1305+1.19.2
# adding a module also requires adding a dependency to the FMJ
port_lib_modules=base,chunk_loading
port_lib_modules=chunk_loading


create_minecraft_version=1.19.2
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/com/hlysine/create_power_loader/BackportUtils.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.hlysine.create_power_loader;

import net.minecraft.core.BlockPos;
import net.minecraft.world.phys.Vec3;

public class BackportUtils {
public static BlockPos blockPosContaining(Vec3 vec) {
return new BlockPos(vec.x, vec.y, vec.z);
}
}
10 changes: 5 additions & 5 deletions src/main/java/com/hlysine/create_power_loader/CPLBlocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import com.tterrag.registrate.util.entry.BlockEntry;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.level.material.MaterialColor;

import static com.simibubi.create.AllMovementBehaviours.movementBehaviour;
import static com.simibubi.create.foundation.data.ModelGen.customItemModel;
Expand All @@ -26,7 +26,7 @@ public class CPLBlocks {
.block("empty_andesite_chunk_loader", props -> new EmptyChunkLoaderBlock(props, CPLBlockEntityTypes.EMPTY_ANDESITE_CHUNK_LOADER))
.initialProperties(() -> Blocks.BEACON)
.properties(p -> p
.mapColor(MapColor.PODZOL)
.color(MaterialColor.PODZOL)
.isRedstoneConductor((state, getter, pos) -> false)
.noOcclusion()
)
Expand All @@ -42,7 +42,7 @@ public class CPLBlocks {
.block("andesite_chunk_loader", AndesiteChunkLoaderBlock::new)
.initialProperties(() -> Blocks.BEACON)
.properties(p -> p
.mapColor(MapColor.PODZOL)
.color(MaterialColor.PODZOL)
.isRedstoneConductor((state, getter, pos) -> false)
.noOcclusion()
.lightLevel((state) -> 4)
Expand All @@ -61,7 +61,7 @@ public class CPLBlocks {
.block("empty_brass_chunk_loader", props -> new EmptyChunkLoaderBlock(props, CPLBlockEntityTypes.EMPTY_BRASS_CHUNK_LOADER))
.initialProperties(() -> Blocks.BEACON)
.properties(p -> p
.mapColor(MapColor.TERRACOTTA_YELLOW)
.color(MaterialColor.TERRACOTTA_YELLOW)
.isRedstoneConductor((state, getter, pos) -> false)
.noOcclusion()
)
Expand All @@ -77,7 +77,7 @@ public class CPLBlocks {
.block("brass_chunk_loader", BrassChunkLoaderBlock::new)
.initialProperties(() -> Blocks.BEACON)
.properties(p -> p
.mapColor(MapColor.TERRACOTTA_YELLOW)
.color(MaterialColor.TERRACOTTA_YELLOW)
.isRedstoneConductor((state, getter, pos) -> false)
.noOcclusion()
.lightLevel((state) -> 6)
Expand Down
59 changes: 32 additions & 27 deletions src/main/java/com/hlysine/create_power_loader/CPLCreativeTabs.java
Original file line number Diff line number Diff line change
@@ -1,38 +1,43 @@
package com.hlysine.create_power_loader;

import com.simibubi.create.AllCreativeModeTabs;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import com.tterrag.registrate.util.entry.ItemProviderEntry;
import io.github.fabricators_of_create.porting_lib.util.ItemGroupUtil;
import net.minecraft.core.NonNullList;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.NotNull;

import java.util.function.Supplier;
import java.util.List;

public class CPLCreativeTabs {
public static final AllCreativeModeTabs.TabInfo MAIN = register("main", () -> FabricItemGroup.builder()
.title(Component.translatable("itemGroup.create_power_loader.main"))
.icon(CPLBlocks.BRASS_CHUNK_LOADER::asStack)
.displayItems((params, output) -> {
output.accept(CPLBlocks.EMPTY_ANDESITE_CHUNK_LOADER.asStack());
output.accept(CPLBlocks.ANDESITE_CHUNK_LOADER.asStack());
output.accept(CPLBlocks.EMPTY_BRASS_CHUNK_LOADER.asStack());
output.accept(CPLBlocks.BRASS_CHUNK_LOADER.asStack());
})
.build());

private static AllCreativeModeTabs.TabInfo register(String name, Supplier<CreativeModeTab> supplier) {
ResourceLocation id = CreatePowerLoader.asResource(name);
ResourceKey<CreativeModeTab> key = ResourceKey.create(Registries.CREATIVE_MODE_TAB, id);
CreativeModeTab tab = supplier.get();
Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, key, tab);
return new AllCreativeModeTabs.TabInfo(key, tab);
}
public static final CreativeModeTab MAIN = new MainCreativeModeTab();

public static final List<ItemProviderEntry<?>> ITEMS = List.of(
CPLBlocks.EMPTY_ANDESITE_CHUNK_LOADER,
CPLBlocks.ANDESITE_CHUNK_LOADER,
CPLBlocks.EMPTY_BRASS_CHUNK_LOADER,
CPLBlocks.BRASS_CHUNK_LOADER
);

public static void register() {
}

public static class MainCreativeModeTab extends CreativeModeTab {

public MainCreativeModeTab() {
super(ItemGroupUtil.expandArrayAndGetId(), CreatePowerLoader.MODID + ".main");
}

@Override
public @NotNull ItemStack makeIcon() {
return CPLBlocks.BRASS_CHUNK_LOADER.asStack();
}

@Override
public void fillItemList(@NotNull NonNullList<ItemStack> pItems) {
for (ItemProviderEntry<?> item : ITEMS) {
item.get().asItem().fillItemCategory(this, pItems);
}
}
}
}
11 changes: 5 additions & 6 deletions src/main/java/com/hlysine/create_power_loader/CPLDatagen.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,25 @@
import com.hlysine.create_power_loader.CPLTags.AllEntityTags;
import com.tterrag.registrate.providers.ProviderType;
import com.tterrag.registrate.providers.RegistrateTagsProvider;
import io.github.fabricators_of_create.porting_lib.data.ExistingFileHelper;
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
import net.minecraft.world.entity.EntityType;
import net.minecraftforge.common.data.ExistingFileHelper;

public class CPLDatagen implements DataGeneratorEntrypoint {

@Override
public void onInitializeDataGenerator(FabricDataGenerator generator) {
ExistingFileHelper helper = ExistingFileHelper.withResourcesFromArg();
FabricDataGenerator.Pack pack = generator.createPack();
CreatePowerLoader.getRegistrate().setupDatagen(pack, helper);
gatherData(pack, helper);
CreatePowerLoader.getRegistrate().setupDatagen(generator, helper);
gatherData(generator, helper);
}

public static void gatherData(FabricDataGenerator.Pack pack, ExistingFileHelper helper) {
public static void gatherData(FabricDataGenerator generator, ExistingFileHelper helper) {
CreatePowerLoader.getRegistrate().addDataGenerator(ProviderType.ENTITY_TAGS, CPLDatagen::genEntityTags);
}

private static void genEntityTags(RegistrateTagsProvider<EntityType<?>> prov) {
prov.addTag(AllEntityTags.CHUNK_LOADER_CAPTURABLE.tag).add(EntityType.GHAST);
prov.tag(AllEntityTags.CHUNK_LOADER_CAPTURABLE.tag).add(EntityType.GHAST);
}
}
15 changes: 11 additions & 4 deletions src/main/java/com/hlysine/create_power_loader/CPLIcons.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Matrix4f;
import com.simibubi.create.foundation.gui.AllIcons;
import com.simibubi.create.foundation.gui.element.DelegatedStencilElement;
import com.simibubi.create.foundation.utility.Color;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.GuiComponent;
import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.phys.Vec3;
import org.joml.Matrix4f;

public class CPLIcons extends AllIcons {

Expand Down Expand Up @@ -52,8 +52,15 @@ public void bind() {

@Environment(EnvType.CLIENT)
@Override
public void render(GuiGraphics graphics, int x, int y) {
graphics.blit(ICON_ATLAS, x, y, 0, iconX, iconY, 16, 16, ICON_ATLAS_SIZE, ICON_ATLAS_SIZE);
public void render(PoseStack matrixStack, int x, int y) {
bind();
GuiComponent.blit(matrixStack, x, y, 0, iconX, iconY, 16, 16, ICON_ATLAS_SIZE, ICON_ATLAS_SIZE);
}

@Environment(EnvType.CLIENT)
public void render(PoseStack matrixStack, int x, int y, GuiComponent component) {
bind();
component.blit(matrixStack, x, y, iconX, iconY, 16, 16);
}

@Environment(EnvType.CLIENT)
Expand Down
12 changes: 5 additions & 7 deletions src/main/java/com/hlysine/create_power_loader/CPLTags.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.entity.Entity;
Expand All @@ -23,15 +21,15 @@ public static <T> TagKey<T> forgeTag(Registry<T> registry, String path) {
}

public static TagKey<Block> forgeBlockTag(String path) {
return forgeTag(BuiltInRegistries.BLOCK, path);
return forgeTag(Registry.BLOCK, path);
}

public static TagKey<Item> forgeItemTag(String path) {
return forgeTag(BuiltInRegistries.ITEM, path);
return forgeTag(Registry.ITEM, path);
}

public static TagKey<Fluid> forgeFluidTag(String path) {
return forgeTag(BuiltInRegistries.FLUID, path);
return forgeTag(Registry.FLUID, path);
}

public enum NameSpace {
Expand Down Expand Up @@ -83,9 +81,9 @@ public enum AllEntityTags {
AllEntityTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
ResourceLocation id = new ResourceLocation(namespace.id, path == null ? Lang.asId(name()) : path);
if (optional) {
tag = optionalTag(BuiltInRegistries.ENTITY_TYPE, id);
tag = optionalTag(Registry.ENTITY_TYPE, id);
} else {
tag = TagKey.create(Registries.ENTITY_TYPE, id);
tag = TagKey.create(Registry.ENTITY_TYPE.key(), id);
}
this.alwaysDatagen = alwaysDatagen;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,12 @@ public class CreatePowerLoader implements ModInitializer {

@Override
public void onInitialize() {
REGISTRATE.creativeModeTab(() -> CPLCreativeTabs.MAIN);
CPLCreativeTabs.register();
CPLTags.register();
CPLBlocks.register();
CPLBlockEntityTypes.register();
REGISTRATE.register();
CPLCreativeTabs.register();

CPLConfigs.register();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

import com.google.gson.JsonObject;
import com.hlysine.create_power_loader.CreatePowerLoader;
import com.hlysine.create_power_loader.mixin.ArgumentTypeInfosAccessor;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.arguments.ArgumentType;
import com.mojang.brigadier.context.CommandContext;
Expand All @@ -14,7 +15,7 @@
import net.minecraft.commands.SharedSuggestionProvider;
import net.minecraft.commands.synchronization.ArgumentTypeInfo;
import net.minecraft.commands.synchronization.ArgumentTypeInfos;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.Registry;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.chat.Component;

Expand All @@ -26,7 +27,7 @@

public class EnumArgument<T extends Enum<T>> implements ArgumentType<T> {
public static void register() {
ArgumentTypeInfos.register(BuiltInRegistries.COMMAND_ARGUMENT_TYPE,
ArgumentTypeInfosAccessor.callRegister(Registry.COMMAND_ARGUMENT_TYPE,
CreatePowerLoader.asResource("enum").toString(),
EnumArgument.class,
new EnumArgument.Info());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
import net.minecraft.core.BlockPos;
import net.minecraft.core.registries.Registries;
import net.minecraft.core.Registry;
import net.minecraft.network.chat.ClickEvent;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.HoverEvent;
Expand All @@ -34,6 +34,8 @@
import java.util.function.Consumer;
import java.util.function.Function;

import static com.hlysine.create_power_loader.BackportUtils.blockPosContaining;

public class ListLoadersCommand {

public static ArgumentBuilder<CommandSourceStack, ?> register() {
Expand Down Expand Up @@ -80,8 +82,8 @@ private static Command<CommandSourceStack> handler(boolean hasMode, boolean hasL
hasMode ? ctx.getArgument("type", LoaderMode.class) : null,
hasLimit ? ctx.getArgument("limit", Integer.class) : 20,
activeOnly,
(s, f) -> source.sendSuccess(() -> Components.literal(s).withStyle(st -> st.withColor(f)), false),
(c) -> source.sendSuccess(() -> c, false));
(s, f) -> source.sendSuccess(Components.literal(s).withStyle(st -> st.withColor(f)), false),
(c) -> source.sendSuccess(c, false));
return Command.SINGLE_SUCCESS;
};
}
Expand Down Expand Up @@ -124,7 +126,7 @@ private static void fillReport(ServerLevel level,

Map<ResourceLocation, DimensionType> typeCache = new HashMap<>();
MinecraftServer server = level.getServer();
Function<ResourceLocation, DimensionType> computeType = key -> server.getLevel(ResourceKey.create(Registries.DIMENSION, key)).dimensionType();
Function<ResourceLocation, DimensionType> computeType = key -> server.getLevel(ResourceKey.create(Registry.DIMENSION_REGISTRY, key)).dimensionType();
List<Pair<ChunkLoader, Pair<ResourceLocation, Vec3>>> pairs = loaders.stream()
.map(loader -> Pair.of(loader, loader.getLocation()))
.map(pair -> Pair.of(pair.getFirst(), Pair.of(pair.getSecond().getFirst(), Vec3.atCenterOf(pair.getSecond().getSecond()))))
Expand All @@ -144,7 +146,7 @@ private static void fillReport(ServerLevel level,
for (Pair<ChunkLoader, Pair<ResourceLocation, Vec3>> pair : pairs) {
ChunkLoader loader = pair.getFirst();
ResourceLocation dimension = pair.getSecond().getFirst();
BlockPos pos = BlockPos.containing(pair.getSecond().getSecond());
BlockPos pos = blockPosContaining(pair.getSecond().getSecond());

chatRaw.accept(
text(mode == null ? loader.getLoaderMode().getSerializedName() + " - " : "", white)
Expand Down
Loading

0 comments on commit 38ef585

Please sign in to comment.