mirror of
https://github.com/TeamMidnightDust/CullLeaves.git
synced 2025-12-16 06:15:08 +01:00
stonecutter: support 1.20.1
This commit is contained in:
@@ -22,7 +22,7 @@ import org.slf4j.LoggerFactory;
|
||||
import java.io.IOException;
|
||||
|
||||
//? fabric {
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
@@ -48,9 +48,28 @@ import net.neoforged.neoforge.event.AddPackFindersEvent;
|
||||
^///?}
|
||||
*///?}
|
||||
|
||||
//? neoforge
|
||||
//? forge {
|
||||
/*import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.packs.repository.Pack;
|
||||
import net.minecraft.server.packs.repository.PackSource;
|
||||
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.ConfigScreenHandler;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.AddPackFindersEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.IExtensionPoint;
|
||||
import net.minecraftforge.fml.ModList;
|
||||
import net.minecraftforge.fml.ModLoadingContext;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.forgespi.locating.IModFile;
|
||||
import net.minecraftforge.network.NetworkConstants;
|
||||
import net.minecraftforge.resource.PathPackResources;
|
||||
*///?}
|
||||
|
||||
//? neoforge || forge
|
||||
/*@Mod(CullLeavesClient.MOD_ID)*/
|
||||
public class CullLeavesClient /*? fabric {*/ implements ClientModInitializer /*?}*/ {
|
||||
public class CullLeavesClient /*? fabric {*/ implements ModInitializer /*?}*/ {
|
||||
public static final String MOD_ID = "cullleaves";
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
||||
|
||||
@@ -115,7 +134,7 @@ public class CullLeavesClient /*? fabric {*/ implements ClientModInitializer /*?
|
||||
|
||||
//? fabric {
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
public void onInitialize() {
|
||||
MidnightConfig.init(CullLeavesClient.MOD_ID, CullLeavesConfig.class);
|
||||
FabricLoader.getInstance().getModContainer("cullleaves").ifPresent(modContainer -> {
|
||||
ResourceManagerHelper.registerBuiltinResourcePack(ResourceLocation.fromNamespaceAndPath(CullLeavesClient.MOD_ID, "smartleaves"), modContainer, ResourcePackActivationType.NORMAL);
|
||||
@@ -153,6 +172,32 @@ public class CullLeavesClient /*? fabric {*/ implements ClientModInitializer /*?
|
||||
event. /^? if >= 1.21.4 {^/ addListener(ResourceLocation.fromNamespaceAndPath(CullLeavesClient.MOD_ID, "resourcepack_options"), /^?} else {^/ /^registerReloadListener( ^//^?}^/ CullLeavesClient.ReloadListener.INSTANCE);
|
||||
}
|
||||
}
|
||||
*///?} else if forge {
|
||||
/*public CullLeavesClient() {
|
||||
MidnightConfig.init(MOD_ID, CullLeavesConfig.class);
|
||||
ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, () -> new IExtensionPoint.DisplayTest(() -> NetworkConstants.IGNORESERVERONLY, (remote, server) -> true));
|
||||
ModLoadingContext.get().registerExtensionPoint(ConfigScreenHandler.ConfigScreenFactory.class, () ->
|
||||
new ConfigScreenHandler.ConfigScreenFactory((client, parent) -> MidnightConfig.getScreen(parent, "cullleaves")));
|
||||
//MinecraftForge.EVENT_BUS.register(new CullLeavesClientEvents());
|
||||
}
|
||||
|
||||
@Mod.EventBusSubscriber(modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
|
||||
public static class CullLeavesClientEvents {
|
||||
@SubscribeEvent
|
||||
public static void addPackFinders(AddPackFindersEvent event) {
|
||||
if (event.getPackType() == PackType.CLIENT_RESOURCES) {
|
||||
registerResourcePack(event, ResourceLocation.fromNamespaceAndPath(MOD_ID, "smartleaves"), false);
|
||||
}
|
||||
}
|
||||
private static void registerResourcePack(AddPackFindersEvent event, ResourceLocation id, boolean alwaysEnabled) {
|
||||
event.addRepositorySource((profileAdder -> {
|
||||
IModFile file = ModList.get().getModFileById(id.getNamespace()).getFile();
|
||||
try (PathPackResources pack = new PathPackResources(id.toString(), true, file.findResource("resourcepacks/"+id.getPath()))) {
|
||||
profileAdder.accept(Pack.readMetaAndCreate(id.toString(), Component.literal(id.getNamespace()+"/"+id.getPath()), alwaysEnabled, a -> pack, PackType.CLIENT_RESOURCES, Pack.Position.TOP, PackSource.BUILT_IN));
|
||||
} catch (NullPointerException e) {e.printStackTrace();}
|
||||
}));
|
||||
}
|
||||
}
|
||||
*///?}
|
||||
}
|
||||
|
||||
|
||||
0
src/main/java/eu/midnightdust/cullleaves/config/CullLeavesConfig.java
Executable file → Normal file
0
src/main/java/eu/midnightdust/cullleaves/config/CullLeavesConfig.java
Executable file → Normal file
0
src/main/java/eu/midnightdust/cullleaves/mixin/MixinLeavesBlock.java
Executable file → Normal file
0
src/main/java/eu/midnightdust/cullleaves/mixin/MixinLeavesBlock.java
Executable file → Normal file
0
src/main/java/eu/midnightdust/cullleaves/mixin/MixinMangroveRootsBlock.java
Executable file → Normal file
0
src/main/java/eu/midnightdust/cullleaves/mixin/MixinMangroveRootsBlock.java
Executable file → Normal file
@@ -1,43 +1,50 @@
|
||||
package eu.midnightdust.cullleaves.mixin.sodium;
|
||||
|
||||
import eu.midnightdust.cullleaves.CullLeavesClient;
|
||||
import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockRenderer;
|
||||
import net.caffeinemc.mods.sodium.client.render.frapi.render.AbstractBlockRenderContext;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import eu.midnightdust.cullleaves.CullLeavesClient;
|
||||
import net.minecraft.world.level.block.LeavesBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
//? if >= 1.21.4 {
|
||||
import net.minecraft.client.renderer.block.model.BlockStateModel;
|
||||
//?} else {
|
||||
/*import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.core.BlockPos;
|
||||
//?} else if >= 1.21 {
|
||||
/*import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
*///?} else {
|
||||
/*import net.caffeinemc.mods.sodium.client.render.chunk.compile.ChunkBuildBuffers;
|
||||
import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockRenderContext;
|
||||
*///?}
|
||||
|
||||
//? if fabric {
|
||||
//? if fabric && >= 1.21 {
|
||||
import net.caffeinemc.mods.sodium.client.render.frapi.render.AbstractBlockRenderContext;
|
||||
//?} else {
|
||||
/*import net.minecraft.client.Minecraft;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
*///?}
|
||||
|
||||
|
||||
@Mixin(BlockRenderer.class)
|
||||
public abstract class MixinBlockRenderer /*? if fabric {*/ extends AbstractBlockRenderContext /*?}*/ {
|
||||
//? if neoforge {
|
||||
public abstract class MixinBlockRenderer /*? if fabric && >= 1.21 {*/ extends AbstractBlockRenderContext /*?}*/ {
|
||||
//? if neoforge || < 1.21 {
|
||||
/*@Unique
|
||||
private static final Minecraft cullleaves$client = Minecraft.getInstance();
|
||||
*///?}
|
||||
|
||||
@Inject(at = @At("HEAD"), method = "renderModel", cancellable = true)
|
||||
@Inject(at = @At("HEAD"), method = "renderModel", cancellable = true /*? if forge {*//*, remap = false *//*?}*/)
|
||||
//? if >= 1.21.4 {
|
||||
public void cullleaves$cancelRendering(BlockStateModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) {
|
||||
//?} else {
|
||||
//?} else if >= 1.21 {
|
||||
/*public void cullleaves$cancelRendering(BakedModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) {
|
||||
*///?} else {
|
||||
/*public void cullleaves$cancelRendering(BlockRenderContext ctx, ChunkBuildBuffers buffers, CallbackInfo ci) {
|
||||
var state = ctx.state();
|
||||
var pos = ctx.pos();
|
||||
*///?}
|
||||
if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(/*? if fabric {*/ this.level /*?} else {*/ /*cullleaves$client.level *//*?}*/, pos))
|
||||
if (state.getBlock() instanceof LeavesBlock && CullLeavesClient.shouldHideBlock(/*? if fabric && >= 1.21 {*/ this.level /*?} else {*/ /*cullleaves$client.level *//*?}*/, pos))
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user