Update to 1.17-pre1

This commit is contained in:
Motschen
2021-06-07 18:28:35 +02:00
parent deea03b32f
commit a847d0d289
92 changed files with 157 additions and 174 deletions

View 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);
});
}
}

View 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;
}
}

View 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);
}
}