mirror of
https://github.com/TeamMidnightDust/BetterBeds.git
synced 2025-12-16 05:25:09 +01:00
Update to 1.17-pre1
This commit is contained in:
34
src/main/java/eu/midnightdust/betterbeds/BetterBedsClient.java
Normal file → Executable file
34
src/main/java/eu/midnightdust/betterbeds/BetterBedsClient.java
Normal file → Executable file
@@ -1,17 +1,17 @@
|
||||
package eu.midnightdust.betterbeds;
|
||||
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class BetterBedsClient implements ClientModInitializer {
|
||||
|
||||
public void onInitializeClient() {
|
||||
|
||||
FabricLoader.getInstance().getModContainer("betterbeds").ifPresent(modContainer -> {
|
||||
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("betterbeds:fancybeds"), "resourcepacks/fancybeds", modContainer, false);
|
||||
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("betterbeds:connectedbeds"), "resourcepacks/connectedbeds", modContainer, false);
|
||||
});
|
||||
}
|
||||
}
|
||||
package eu.midnightdust.betterbeds;
|
||||
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class BetterBedsClient implements ClientModInitializer {
|
||||
|
||||
public void onInitializeClient() {
|
||||
FabricLoader.getInstance().getModContainer("betterbeds").ifPresent(modContainer -> {
|
||||
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("betterbeds:fancybeds"), modContainer, ResourcePackActivationType.NORMAL);
|
||||
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("betterbeds:connectedbeds"), modContainer, ResourcePackActivationType.NORMAL);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
54
src/main/java/eu/midnightdust/betterbeds/mixin/MixinBedBlock.java
Normal file → Executable file
54
src/main/java/eu/midnightdust/betterbeds/mixin/MixinBedBlock.java
Normal file → Executable file
@@ -1,27 +1,27 @@
|
||||
package eu.midnightdust.betterbeds.mixin;
|
||||
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.util.math.Direction;
|
||||
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.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(value = BedBlock.class, priority = 2000)
|
||||
public abstract class MixinBedBlock extends HorizontalFacingBlock {
|
||||
|
||||
protected MixinBedBlock(Settings settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
@Inject(at = @At("RETURN"), method = "getRenderType", cancellable = true)
|
||||
private void getRenderType(BlockState state, CallbackInfoReturnable<BlockRenderType> cir) {
|
||||
cir.setReturnValue(BlockRenderType.MODEL);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean isSideInvisible(BlockState state, BlockState neighborState, Direction offset) {
|
||||
return neighborState.getBlock() instanceof BedBlock;
|
||||
}
|
||||
}
|
||||
package eu.midnightdust.betterbeds.mixin;
|
||||
|
||||
import net.minecraft.block.*;
|
||||
import net.minecraft.util.math.Direction;
|
||||
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.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(value = BedBlock.class, priority = 2000)
|
||||
public abstract class MixinBedBlock extends HorizontalFacingBlock {
|
||||
|
||||
protected MixinBedBlock(Settings settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
@Inject(at = @At("RETURN"), method = "getRenderType", cancellable = true)
|
||||
private void getRenderType(BlockState state, CallbackInfoReturnable<BlockRenderType> cir) {
|
||||
cir.setReturnValue(BlockRenderType.MODEL);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("deprecation")
|
||||
public boolean isSideInvisible(BlockState state, BlockState neighborState, Direction offset) {
|
||||
return neighborState.getBlock() instanceof BedBlock;
|
||||
}
|
||||
}
|
||||
|
||||
55
src/main/java/eu/midnightdust/betterbeds/mixin/MixinBlockEntityRendererDispatcher.java
Normal file → Executable file
55
src/main/java/eu/midnightdust/betterbeds/mixin/MixinBlockEntityRendererDispatcher.java
Normal file → Executable file
@@ -1,30 +1,25 @@
|
||||
package eu.midnightdust.betterbeds.mixin;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import net.minecraft.block.BedBlock;
|
||||
import net.minecraft.block.BlockRenderType;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.HorizontalFacingBlock;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Mixin(BlockEntityRenderDispatcher.class)
|
||||
public abstract class MixinBlockEntityRendererDispatcher {
|
||||
@Shadow @Final private Map<BlockEntityType<?>, BlockEntityRenderer<?>> renderers;
|
||||
|
||||
@Inject(method = "<init>()V", at = @At("TAIL"))
|
||||
private void init(CallbackInfo info) {
|
||||
renderers.remove(BlockEntityType.BED);
|
||||
}
|
||||
}
|
||||
package eu.midnightdust.betterbeds.mixin;
|
||||
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
import net.minecraft.block.entity.BlockEntityType;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRendererFactories;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Mixin(BlockEntityRendererFactories.class)
|
||||
public abstract class MixinBlockEntityRendererDispatcher {
|
||||
|
||||
@Shadow @Final private static Map<BlockEntityType<?>, BlockEntityRendererFactory<?>> FACTORIES;
|
||||
|
||||
@Inject(method = "register", at = @At("TAIL"))
|
||||
private static <T extends BlockEntity> void bb$onRegister(BlockEntityType<? extends T> type, BlockEntityRendererFactory<T> factory, CallbackInfo ci) {
|
||||
FACTORIES.remove(BlockEntityType.BED);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user