diff --git a/dependencies.gradle b/dependencies.gradle index 20fdcbfc..61aab0b0 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -66,4 +66,7 @@ dependencies { implementation rfg.deobf("curse.maven:nutrition-unofficial-extended-life-964516:5049991") testImplementation 'junit:junit:4.13.2' implementation 'org.projectlombok:lombok:1.18.24' + + // SussyPatches 0.3.3 + compileOnly rfg.deobf("curse.maven:sussypatches-1319894:6849902") } \ No newline at end of file diff --git a/src/main/java/gregtechfoodoption/ClientProxy.java b/src/main/java/gregtechfoodoption/ClientProxy.java index dfaa1f54..08444c2a 100644 --- a/src/main/java/gregtechfoodoption/ClientProxy.java +++ b/src/main/java/gregtechfoodoption/ClientProxy.java @@ -1,8 +1,10 @@ package gregtechfoodoption; import com.mojang.authlib.minecraft.MinecraftProfileTexture; -import gregtech.api.util.LocalizationUtils; +import dev.tianmi.sussypatches.common.SusConfig; +import gregtech.api.util.Mods; import gregtechfoodoption.block.GTFOMetaBlocks; +import gregtechfoodoption.client.GTFOConnectedTextures; import gregtechfoodoption.entity.GTFOEntities; import gregtechfoodoption.integration.appleskin.GTFOMetaHUDOverlay; import gregtechfoodoption.integration.appleskin.GTFOMetaTooltipOverlay; @@ -10,19 +12,14 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.ChatType; import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentTranslation; import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.client.event.ModelRegistryEvent; -import net.minecraftforge.client.event.RenderLivingEvent; import net.minecraftforge.client.event.RenderPlayerEvent; import net.minecraftforge.event.entity.living.PotionEvent; -import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.ObfuscationReflectionHelper; @@ -30,7 +27,6 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import javax.annotation.Nonnull; import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -67,6 +63,11 @@ public void onLoad() { public void onPostLoad() { super.onPostLoad(); capeHoldersUUIDs.add(UUID.fromString("aaf70ec1-ac70-494f-9966-ea5933712750")); + if (Loader.isModLoaded("sussypatches") + && Mods.CTM.isModLoaded() + && SusConfig.FEAT.multiCTM) { + GTFOConnectedTextures.init(); + } } @SubscribeEvent diff --git a/src/main/java/gregtechfoodoption/client/GTFOConnectedTextures.java b/src/main/java/gregtechfoodoption/client/GTFOConnectedTextures.java new file mode 100644 index 00000000..e3913a23 --- /dev/null +++ b/src/main/java/gregtechfoodoption/client/GTFOConnectedTextures.java @@ -0,0 +1,33 @@ +package gregtechfoodoption.client; + +import dev.tianmi.sussypatches.client.renderer.textures.cube.VisualStateRenderer; + +import static dev.tianmi.sussypatches.client.renderer.textures.ConnectedTextures.SOLID_STEEL_CASING_CTM; +import static dev.tianmi.sussypatches.client.renderer.textures.cube.VisualStateRenderer.from; +import static gregtechfoodoption.block.GTFOBlockCasing.CasingType.ADOBE_BRICKS; +import static gregtechfoodoption.block.GTFOBlockCasing.CasingType.REINFORCED_ADOBE_BRICKS; +import static gregtechfoodoption.block.GTFOMetaBlocks.GTFO_CASING; +import static gregtechfoodoption.block.GTFOMetaBlocks.GTFO_METAL_CASING; +import static gregtechfoodoption.block.GTFOMetalCasing.CasingType.BISMUTH_BRONZE_CASING; +import static gregtechfoodoption.machines.GTFOTileEntities.location; + +public class GTFOConnectedTextures { + + public static final VisualStateRenderer ADOBE_BRICKS_CTM; + public static final VisualStateRenderer BISMUTH_BRONZE_CASING_CTM; + public static final VisualStateRenderer REINFORCED_ADOBE_BRICKS_CTM; + + static { + ADOBE_BRICKS_CTM = from(GTFO_CASING.getState(ADOBE_BRICKS)); + BISMUTH_BRONZE_CASING_CTM = from(GTFO_METAL_CASING.getState(BISMUTH_BRONZE_CASING)); + REINFORCED_ADOBE_BRICKS_CTM = from(GTFO_CASING.getState(REINFORCED_ADOBE_BRICKS)); + } + + public static void init() { + ADOBE_BRICKS_CTM.override(location("baking_oven")); + BISMUTH_BRONZE_CASING_CTM.override(location("electric_baking_oven")); + REINFORCED_ADOBE_BRICKS_CTM.override(location("steam_baking_oven")); + SOLID_STEEL_CASING_CTM.override(location("greenhouse"), + location("kitchen")); + } +} diff --git a/src/main/java/gregtechfoodoption/machines/GTFOTileEntities.java b/src/main/java/gregtechfoodoption/machines/GTFOTileEntities.java index 481f2aec..bc791896 100644 --- a/src/main/java/gregtechfoodoption/machines/GTFOTileEntities.java +++ b/src/main/java/gregtechfoodoption/machines/GTFOTileEntities.java @@ -103,7 +103,7 @@ public static void init() { KITCHEN = registerMetaTileEntity(8581, new MetaTileEntityKitchen(location("kitchen"))); } - private static ResourceLocation location(String name) { + public static ResourceLocation location(String name) { return new ResourceLocation(GregTechFoodOption.MODID, name); }