This commit is contained in:
叁玖领域 2024-10-04 10:17:07 +08:00
parent b7604a24a6
commit bc5cf405bc
1865 changed files with 2141 additions and 64795 deletions

View File

@ -18,7 +18,7 @@ apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'org.spongepowered.mixin'
version = '1.1'
version = '1.18.2-1.3.1'
group = 'com.r3944realms.modernlifepatch' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'modernlifepatch'

BIN
mod-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

@ -0,0 +1,61 @@
package com.r3944realms.modernlifepatch;
import com.dairymoose.modernlife.core.CustomBlocks;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.server.packs.repository.Pack;
import net.minecraft.server.packs.repository.PackSource;
import net.minecraft.server.packs.repository.RepositorySource;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.event.AddPackFindersEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.forgespi.locating.IModFile;
import net.minecraftforge.resource.PathResourcePack;
import java.nio.file.Path;
public abstract class EventHandler {
@net.minecraftforge.fml.common.Mod.EventBusSubscriber(modid = ModernLifePatch.MOD_ID, bus = net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD ,value = Dist.CLIENT)
public static class ModClient extends EventHandler {
@SubscribeEvent
@OnlyIn(Dist.CLIENT)
public static void onClientSetup(FMLClientSetupEvent event) {
event.enqueueWork(() -> {
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_ACACIA_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_BIRCH_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_DARK_OAK_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_JUNGLE_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_OAK_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_SPRUCE_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_CRIMSON_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_WARPED_CHAIR.get(), RenderType.cutout());
ItemBlockRenderTypes.setRenderLayer(CustomBlocks.BLOCK_POWER_RECEIVER.get(), RenderType.translucent());
});
}
}
@Mod.EventBusSubscriber(modid = ModernLifePatch.MOD_ID, bus = net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD)
public static class ModBoth extends EventHandler {
@SubscribeEvent
public static void onRegisterResourcePack(AddPackFindersEvent event) {
IModFile modFile = ModList.get().getModFileById(ModernLifePatch.MOD_ID).getFile();
Path modFilePath = modFile.findResource("resourcepacks/new_modern_life");
event.addRepositorySource((consumer, packConstructor) -> {
Pack t = Pack.create(
ModernLifePatch.MOD_ID,
true,
() -> new PathResourcePack(ModernLifePatch.MOD_ID, modFilePath),
packConstructor,
Pack.Position.TOP,
PackSource.BUILT_IN
);
if(t != null) consumer.accept(t);
});
}
}
}

View File

@ -13,4 +13,5 @@ public class ModernLifePatch {
public ModernLifePatch() {
logger.info("ModernLifePatch loaded");
}
}

View File

@ -1,9 +1,8 @@
package com.r3944realms.modernlifepatch.datagen;
import com.r3944realms.modernlifepatch.datagen.provider.ModRecipeProvider;
import com.r3944realms.modernlifepatch.datagen.provider.ModLanguageProvider;
import com.r3944realms.modernlifepatch.utils.Enum.LanguageEnum;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.models.blockstates.BlockStateGenerator;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent;
@ -11,12 +10,12 @@ import net.minecraftforge.forge.event.lifecycle.GatherDataEvent;
import static com.r3944realms.modernlifepatch.ModernLifePatch.MOD_ID;
@Mod.EventBusSubscriber(modid = MOD_ID)
@Mod.EventBusSubscriber(modid = MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class DataGeneratorHandler {
@SubscribeEvent
public void generatorDataEvent(GatherDataEvent event) {
public static void generatorDataEvent(GatherDataEvent event) {
DataGenerator generator = event.getGenerator();
ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
generator.addProvider(new ModRecipeProvider(generator));
generator.addProvider(new ModLanguageProvider(generator, MOD_ID, LanguageEnum.English));
generator.addProvider(new ModLanguageProvider(generator, MOD_ID, LanguageEnum.SimpleChinese));
}
}

View File

@ -0,0 +1,104 @@
package com.r3944realms.modernlifepatch.datagen.lang;
import com.r3944realms.modernlifepatch.ModernLifePatch;
import com.r3944realms.modernlifepatch.utils.Enum.LanguageEnum;
import com.r3944realms.modernlifepatch.utils.String.StringValidator;
public enum ModLangKeyValue {
MOD_RESOURCE_DESC(getCustomTextKey("resource_pack", ModernLifePatch.MOD_ID ,"description"), "All of tetxures and models are created by BF_MeowDo not use for other purposes without permission.", "所有材质和模型均由 白帆小喵BF_Meow 绘制。未经允许,请勿用作他用。"),
POWER_RECEIVER_HOVER_FIRST(getHoverTextKey("power_receiver", "1"), "Receives power on the selected channel from all transmitters", "从所有能量发射器中去接收所选工作频道的能量"),
POWER_RECEIVER_AND_TRANSMITTER_HOVER_SECOND(getHoverTextKey("power_receiver", "2"), "Right click block to change current channel", "右键方块打开界面,来切换工作频道"),
TURNTABLE_HOVER(getHoverTextKey("turn_table"), "Rotates clockwise when powered by redstone", "当有红石充能时顺时针旋转"),
POWER_TRANSMITTER_FIRST(getHoverTextKey("power_transmitter", "1"), "Transmits power on the selected channel to all receivers", "将红石信号传输给对应频道的所有能量接收器"),
TRASH_CAN_HOVER(getHoverTextKey("trash_can"), "Items inserted into the trash slot will be deleted when the trash can is full", "当垃圾桶已满时,进入垃圾桶的物品将被删除"),
PHOTOCOPIER_HOVER_FIRST(getHoverTextKey("photocopier", "1"), "Interact with a canvas or photograph to make copies", "可以用于照片或画作的复制"),
PHOTOCOPIER_HOVER_SECOND(getHoverTextKey("photocopier", "2"), " * Requires paper", " * 需要纸"),
EXTRACTOR_HOVER(getHoverTextKey("extractor"), "Extracts items from attached chests or from the space in front of it", "从其吸取端处的箱子或空间中取出物品"),
CHESS_BOARD_HOVER(getHoverTextKey("chess_board"), "PLace it down and begin a new game!", "放置后使用即可开始一场新游戏!"),
WALL_SHELF_HOVER_FIRST(getHoverTextKey("wall_shelf", "1"), "Right click tp place an item on the shelf", "右键以放置物品在墙架上"),
WALL_SHELF_HOVER_SECOND(getHoverTextKey("wall_shelf", "2"), "Shift-right-click with an empty hand to remove an item", "空手按住Shift键+右键即可取下物品"),
STEAM_RADIATOR_HOVER(getHoverTextKey("steam_radiator"), "Right click placed radiator to activate", "右键已放置的散热器,即可激活"),
//P
NEED_RED_STONE_POWER_HOVER(getHoverTextKey("need_rs_power"), "Requires redstone power to operate", "需要红石充能"),
STORE_18_HOVER(getHoverTextKey("store_18"), "Stores up to 18 items", "可存储18组物品"),
//~P
METAL_GRATE_HOVER(getHoverTextKey("metal_grate"), "Allows water and items to flow through freely", "允许水与物品自由地穿过"),
EASEL_HOVER(getHoverTextKey("easel"), "Place a canvas on it to begin painting", "放置(帆布)画布在其上,即可开始绘画"),
//CONTAINER & MENU
KITCHEN_CABINET_MENU_LABEL(getMenuLabelKey("kitchen_cabinet"), "Kitchen Cabinet", "厨房柜子"),
KITCHEN_DRAWER_CABINET_MENU_LABEL(getMenuLabelKey("kitchen_drawer_cabinet"), "Kitchen Drawer Cabinet", "厨房抽屉柜"),
TRASH_CAN_MENU_LABEL(getMenuLabelKey("trash_can"), "Trash Can", "垃圾桶"),
PHOTOCOPIER_MENU_LABEL(getMenuLabelKey("photo_copier"), "Photocopier", "复印机"),
PRINTER_MENU_LABEL(getMenuLabelKey("printer"), "Printer", "打印机"),
PRINTER_SIZE_MENU_LABEL(getMenuLabelKey("print_size"), "Print Size", "打印尺寸"),
NIGHT_STAND_MENU_LABEL(getMenuLabelKey("night_stand"), "Night Stand", "床头柜"),
STEAM_RADIATOR_MENU_LABEL(getMenuLabelKey("radiator"), "Radiator" ,"蒸汽散热器"),
//CANVAS
CANVAS_HOVER_DESC_COMPLETED(getHoverTextKey("canvas", "desc_completed"), "A work of art" ,"艺术品"),
CANVAS_HOVER_UNIQUE_ID(getHoverTextKey("canvas", "unique_id"), "ID = %d", "ID = %d"),
CANVAS_HOVER_PIXELS_SIZE(getHoverTextKey("canvas", "pixels_size"), "%d x %d pixels", "%d x %d 像素"),
CANVAS_HOVER_BLOCK_SIZE(getHoverTextKey("canvas", "block_size"), "%f x %f ", "%f x %f"),
CANVAS_HOVER_OFFSET(getHoverTextKey("canvas", "offset"), "(%f,%f)", "(%f,%f)"),
CANVAS_HOVER_DESC_EMPTY(getHoverTextKey("canvas", "desc_empty"), "For use with an easel", "可用画架来创作"),
CANVAS_HOVER_DESC_SIZE_NORMAL(getHoverTextKey("canvas", "normal_size"), "Normal print", "常规尺寸画作"),
CANVAS_HOVER_DESC_SIZE_LARGE(getHoverTextKey("canvas", "large_size"), "Large print", "大型尺寸画作"),
CANVAS_HOVER_DESC_SIZE_EXTRA_LARGE(getHoverTextKey("canvas", "extra_large_size"), "Extra Large print", "超大型尺寸画作"),
CANVAS_HOVER_DESC_SIZE_MASSIVE(getHoverTextKey("canvas", "massive_size"), "Massive print", "巨大尺寸的画作"),
CANVAS_HOVER_DESC_SIZE_LARGE_SQUARE(getHoverTextKey("canvas", "large_square_size"),"Large square print", "大型方寸画作"),
CANVAS_HOVER_DESC_SIZE_EXTRA_LARGE_SQUARE(getHoverTextKey("canvas", "extra_large_square_size"), "Extra Large square", "超大型方寸画作"),
CANVAS_HOVER_DESC_SIZE_MASSIVE_SQUARE(getHoverTextKey("canvas", "massive_square_size"),"Massive square print","巨大方寸画作"),
CANVAS_HOVER_DESC_SIZE_CUSTOM(getHoverTextKey("canvas", "custom_size"), "Custom print", "自定义尺寸画作"),
;
private final String key;
private final String US_EN;
private final String SIM_CN;
ModLangKeyValue(String key, String US_EN, String SIM_CN) {
this.key = key;
this.US_EN = US_EN;
this.SIM_CN = SIM_CN;
}
public String getKey() {
return key;
}
public static String getLan(LanguageEnum lan, ModLangKeyValue key) {
if (lan == LanguageEnum.SimpleChinese) {
return getSimpleChinese(key);
}
return getEnglish(key);
}
private static String getEnglish(ModLangKeyValue key) {
return key.US_EN;
}
private static String getSimpleChinese(ModLangKeyValue key) {
return key.SIM_CN;
}
private static final String HEAD_ = "modernlifepatch.lang.";
public static String getHoverTextKey(String key) {
return getHoverTextKey(key, "0");
}
public static String getCustomTextKey(String prefix, String mod_id, String custom) {
if(StringValidator.isNotValidMinecraftKey(prefix) && StringValidator.isNotValidMinecraftKey(mod_id) && StringValidator.isNotValidMinecraftKey(custom)) {
throw new IllegalArgumentException("Not valid MinecraftKey which only including [a-z] and '_'.");
}
return HEAD_ + prefix + "." + mod_id + "." + custom;
}
public static String getHoverTextKey(String itemName, String diffMark) {
if(StringValidator.isNotValidMinecraftKey(itemName) || StringValidator.isNotValidMinecraftKey(diffMark)) {
throw new IllegalArgumentException("Not valid MinecraftKey which only including [a-z] and [0-9] and '_'.");
}
return HEAD_ + itemName + ".hover_text." + diffMark;
}
public static String getMenuLabelKey(String menuLabel) {
if(StringValidator.isNotValidMinecraftKey(menuLabel)) {
throw new IllegalArgumentException("Not valid MinecraftKey which only including [a-z] and '_'.");
}
return HEAD_ + "menu." + menuLabel;
}
}

View File

@ -0,0 +1,37 @@
package com.r3944realms.modernlifepatch.datagen.provider;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import com.r3944realms.modernlifepatch.utils.Enum.LanguageEnum;
import net.minecraft.data.DataGenerator;
import net.minecraftforge.common.data.LanguageProvider;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ModLanguageProvider extends LanguageProvider {
private final LanguageEnum Language;
private final Map<String, String> LanKeyMap;
private static final List<String> objects = new ArrayList<>();
public ModLanguageProvider(DataGenerator dataGenerator, String modId, LanguageEnum Lan) {
super(dataGenerator, modId, Lan.local);
this.Language = Lan;
LanKeyMap = new HashMap<>();
init();
}
private void init() {
for (ModLangKeyValue key : ModLangKeyValue.values()) {
addLang(key.getKey(), ModLangKeyValue.getLan(Language, key));
}
}
private void addLang(String Key, String value) {
if(!objects.contains(Key)) objects.add(Key);
LanKeyMap.put(Key, value);
}
@Override
protected void addTranslations() {
objects.forEach(key -> add(key,LanKeyMap.get(key)));
}
}

View File

@ -1,26 +0,0 @@
package com.r3944realms.modernlifepatch.datagen.provider;
import com.dairymoose.modernlife.core.CustomBlocks;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.recipes.FinishedRecipe;
import net.minecraft.data.recipes.RecipeProvider;
import net.minecraft.data.recipes.ShapelessRecipeBuilder;
import net.minecraft.world.item.Items;
import org.jetbrains.annotations.NotNull;
import java.util.function.Consumer;
public class ModRecipeProvider extends RecipeProvider {
public ModRecipeProvider(DataGenerator pGenerator) {
super(pGenerator);
}
@Override
protected void buildCraftingRecipes(@NotNull Consumer<FinishedRecipe> consumer) {
ShapelessRecipeBuilder.shapeless(CustomBlocks.ITEM_BULLET.get(), 4)
.requires(Items.COPPER_INGOT, 1)
.requires(Items.GUNPOWDER, 1)
.unlockedBy("has_gunpowder", has(Items.GUNPOWDER))
.save(consumer);
}
}

View File

@ -26,8 +26,8 @@ public abstract class MixinShowerHead extends AbstractWallBlock implements Entit
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
}
public MixinShowerHead(Properties p_i241196_1_) {
super(p_i241196_1_);
public MixinShowerHead(Properties properties) {
super(properties);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)

View File

@ -38,8 +38,8 @@ public abstract class MixinToilet extends StandardHorizontalBlock implements Sim
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
public MixinToilet(Properties p_i48377_1_) {
super(p_i48377_1_);
public MixinToilet(Properties properties) {
super(properties);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
@ -51,4 +51,5 @@ public abstract class MixinToilet extends StandardHorizontalBlock implements Sim
}
}
}

View File

@ -0,0 +1,103 @@
package com.r3944realms.modernlifepatch.mixin.block.bedchamber;
import com.dairymoose.modernlife.blocks.NightStandBlock;
import com.dairymoose.modernlife.tileentities.NightStandBlockEntity;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import com.r3944realms.modernlifepatch.modInterface.IContainMenu;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.ChestMenu;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.NotNull;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import java.util.stream.Stream;
import static com.dairymoose.modernlife.blocks.NightStandBlock.FACING;
@SuppressWarnings("AddedMixinMembersNamePattern")
@Mixin(NightStandBlock.class)
public abstract class MixinNightStand extends Block implements EntityBlock ,IContainMenu{
public MixinNightStand(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_S = Shapes.join(Stream.of(
Block.box(0, 0, 12, 2, 1, 14),
Block.box(14, 0, 12, 16, 1, 14),
Block.box(0, 0, 0, 2, 1, 2),
Block.box(14, 0, 0, 16, 1, 2)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), Block.box(0, 1, 0, 16, 16, 14), BooleanOp.OR), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
@Inject(method = {"getMenuProvider"}, at = @At("HEAD"), cancellable = true)
public void getMenuProvider(BlockState blockState, Level level, BlockPos blockPos, CallbackInfoReturnable<MenuProvider> cir) {
if (!MixinNightStand.this.ContainMenuLabel().isEmpty()) {
cir.setReturnValue(new MenuProvider() {
@Override
public AbstractContainerMenu createMenu(int paramInt, @NotNull Inventory paramInventory, @NotNull Player paramPlayer) {
BlockEntity tileEntity = level.getBlockEntity(blockPos);
if (tileEntity instanceof NightStandBlockEntity nightStandBlockEntity) {
return new ChestMenu(MenuType.GENERIC_9x2, paramInt, paramInventory, nightStandBlockEntity, 2);
} else {
return null;
}
}
@Override
public @NotNull Component getDisplayName() {
return new TranslatableComponent(String.valueOf(MixinNightStand.this.ContainMenuLabel()));
}
});
}
}
@Unique
@Override
public String ContainMenuLabel() {
return ModLangKeyValue.NIGHT_STAND_MENU_LABEL.getKey();
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
private void appendHoverTextHead(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.STORE_18_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,46 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.ArrowSlitBlock;
import com.dairymoose.modernlife.blocks.WallSocketBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.stream.Stream;
@Mixin(ArrowSlitBlock.class)
public class MixinArrowSlit {
@Unique
private static final VoxelShape SHAPE_S = Stream.of(
Block.box(0, 0, 12, 16, 6, 16),
Block.box(10, 6, 12, 16, 14, 16),
Block.box(0, 14, 12, 16, 16, 16),
Block.box(0, 6, 12, 6, 14, 16)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(WallSocketBlock.FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -0,0 +1,56 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.CCTVCameraBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.stream.Stream;
import static com.dairymoose.modernlife.blocks.CCTVCameraBlock.FACING;
@Mixin(CCTVCameraBlock.class)
public class MixinCCTVCamera {
@Unique
private static final VoxelShape SHAPE_S = Stream.of(
Stream.of(
Block.box(7, 7, 1.00138, 9, 8, 4.00138),
Block.box(7, 4, 1.00138, 7, 7, 5.00138),
Block.box(9, 4, 1.00138, 9, 7, 5.00138)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(),
Block.box(6, 4, 0.00138, 10, 9, 1.00138),
Stream.of(
Block.box(6, 7, 3.00138, 10, 11, 9.00138),
Block.box(6, 9, 9.00138, 6, 11, 11.00138),
Block.box(10, 9, 9.00138, 10, 11, 11.00138),
Block.box(6, 11, 9.00138, 10, 11, 11.00138)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get()
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -0,0 +1,89 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.CanvasBlock;
import com.dairymoose.modernlife.core.ModernLifeClient;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
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;
import java.text.DecimalFormat;
import java.util.List;
@Mixin(CanvasBlock.class)
public class MixinCanvas {
@OnlyIn(Dist.CLIENT)
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
Long canvasUniqueId = null;
if (itemStack.getTag() != null && itemStack.getTag().contains("UniqueId")) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_COMPLETED.getKey()));
long uniqueId = itemStack.getTag().getLong("UniqueId");
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_UNIQUE_ID.getKey(), uniqueId));
canvasUniqueId = uniqueId;
} else {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_EMPTY.getKey()));
}
int size;
if (canvasUniqueId != null) {
size = ModernLifeClient.getCanvasWidth(canvasUniqueId);
int height = ModernLifeClient.getCanvasHeight(canvasUniqueId);
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_PIXELS_SIZE.getKey() , size, height));
}
if (itemStack.getTag() != null && itemStack.getTag().contains("Size")) {
size = itemStack.getTag().getInt("Size");
list.add(new TextComponent(""));
if (size == 1) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_NORMAL.getKey()));
} else if (size == 2) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_LARGE.getKey()));
} else if (size == 3) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_EXTRA_LARGE.getKey()));
} else if (size == 4) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_MASSIVE.getKey()));
} else if (size == 5) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_LARGE_SQUARE.getKey()));
} else if (size == 6) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_EXTRA_LARGE_SQUARE.getKey()));
} else if (size == 7) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_MASSIVE_SQUARE.getKey()));
} else if (size == 0) {
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_DESC_SIZE_CUSTOM.getKey()));
CompoundTag nbt = itemStack.getTag();
DecimalFormat df = new DecimalFormat("#.##");
String var10003;
float xOffset;
float yOffset;
if (nbt.contains("BlockWidth") && nbt.contains("BlockHeight")) {
xOffset = nbt.getFloat("BlockWidth");
yOffset = nbt.getFloat("BlockHeight");
var10003 = df.format(xOffset);
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_BLOCK_SIZE.getKey(), var10003, df.format(yOffset)));
}
if (nbt.contains("xOffset") && nbt.contains("yOffset")) {
xOffset = nbt.getFloat("xOffset");
yOffset = nbt.getFloat("yOffset");
if (xOffset != 0.0F || yOffset != 0.0F) {
var10003 = df.format(xOffset);
list.add(new TranslatableComponent(ModLangKeyValue.CANVAS_HOVER_OFFSET.getKey(), var10003, df.format(yOffset)));
}
}
}
}
ci.cancel();
}
}

View File

@ -0,0 +1,58 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.ChairBlock;
import com.dairymoose.modernlife.blocks.StandardHorizontalBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.stream.Stream;
@Mixin(ChairBlock.class)
public class MixinChair extends StandardHorizontalBlock {
public MixinChair(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_S = Stream.of(
Block.box(2, 7, 2, 14, 10, 14),
Block.box(4, 10, 13, 12, 25, 13),
Block.box(2, 10, 12, 4, 24, 14),
Block.box(12, 10, 12, 14, 24, 14),
Block.box(4, 2, 3, 12, 4, 3),
Block.box(4, 2, 13, 12, 4, 13),
Block.box(13, 2, 4, 13, 4, 12),
Block.box(3, 2, 4, 3, 4, 12),
Block.box(12, 0, 2, 14, 7, 4),
Block.box(2, 0, 2, 4, 7, 4),
Block.box(2, 0, 12, 4, 7, 14),
Block.box(12, 0, 12, 14, 7, 14)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -21,8 +21,8 @@ import java.util.stream.Stream;
@Mixin(CoffeeMugBlock.class)
public class MixinCoffeeMug extends StandardHorizontalBlock {
public MixinCoffeeMug(Properties p_i48377_1_) {
super(p_i48377_1_);
public MixinCoffeeMug(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_N = Stream.of(
@ -38,7 +38,6 @@ public class MixinCoffeeMug extends StandardHorizontalBlock {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {

View File

@ -0,0 +1,51 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.EaselBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import static com.dairymoose.modernlife.blocks.EaselBlock.FACING;
@Mixin(EaselBlock.class)
public class MixinEasel {
@Unique
private static final VoxelShape SHAPE_N = Block.box(2, 0, 4, 14, 22, 15), SHAPE_E, SHAPE_S, SHAPE_W;
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
SHAPE_S = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E);
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.EASEL_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,40 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.FlatScreenTvBlock;
import com.dairymoose.modernlife.blocks.StandardHorizontalBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(FlatScreenTvBlock.class)
public class MixinFlatScreenTV extends StandardHorizontalBlock {
public MixinFlatScreenTV(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_N = Block.box(-11, 0, 6, 27, 23, 9), SHAPE_E, SHAPE_S, SHAPE_W;
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
SHAPE_S = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E);
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -2,7 +2,12 @@ package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.LightBulbBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.FaceAttachedHorizontalDirectionalBlock;
@ -15,10 +20,16 @@ import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
@Mixin(LightBulbBlock.class)
public class MixinLightBulb extends FaceAttachedHorizontalDirectionalBlock {
public MixinLightBulb(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape _SHAPE_CEILING = Shapes.join(Block.box(5, 8, 5, 11, 14, 11), Block.box(7, 13, 7, 9, 16, 9), BooleanOp.OR)
, _SHAPE_WALL_NORTH, _SHAPE_WALL_EAST, _SHAPE_WALL_SOUTH, _SHAPE_WALL_WEST, _SHAPE_FLOOR;
@ -30,9 +41,7 @@ public class MixinLightBulb extends FaceAttachedHorizontalDirectionalBlock {
_SHAPE_FLOOR = ModernLifeUtil.RotateVoxelShapeXAxis(_SHAPE_WALL_NORTH);
}
public MixinLightBulb(Properties p_53182_) {
super(p_53182_);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
@ -52,4 +61,9 @@ public class MixinLightBulb extends FaceAttachedHorizontalDirectionalBlock {
cir.setReturnValue(_SHAPE_CEILING);
}
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.NEED_RED_STONE_POWER_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,38 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.MetalDuctBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import static com.dairymoose.modernlife.blocks.MetalDuctBlock.AXIS;
@Mixin(MetalDuctBlock.class)
public class MixinMetalDuct {
@Unique
private static final VoxelShape SHAPE_Y = Block.box(3, 0, 3, 13, 16, 13), SHAPE_X, SHAPE_Z;
static {
SHAPE_Z = ModernLifeUtil.RotateVoxelShapeXAxis(SHAPE_Y);
SHAPE_X = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_Z);
}
@Inject(method = {"getShape"}, at = @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
if (bs.getValue(AXIS) == Direction.Axis.X) {
cir.setReturnValue(SHAPE_X);
} else {
cir.setReturnValue(bs.getValue(AXIS) == Direction.Axis.Z ? SHAPE_Z : SHAPE_Y);
}
}
}

View File

@ -0,0 +1,24 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.GrateBlock;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
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;
import java.util.List;
@Mixin(GrateBlock.class)
public class MixinMetalGrate {
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
private void appendHoverTextHead(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.METAL_GRATE_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,98 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.PhotocopierBlock;
import com.dairymoose.modernlife.blocks.StandardHorizontalBlock;
import com.dairymoose.modernlife.blocks.WallSocketBlock;
import com.dairymoose.modernlife.tileentities.NightStandBlockEntity;
import com.dairymoose.modernlife.tileentities.PhotocopierBlockEntity;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import com.r3944realms.modernlifepatch.modInterface.IContainMenu;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.ChestMenu;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.NotNull;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import java.util.stream.Stream;
@Mixin(PhotocopierBlock.class)
public abstract class MixinPhotoCopier extends StandardHorizontalBlock implements EntityBlock {
public MixinPhotoCopier(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_N = Stream.of(
Block.box(4, 15.999, 2, 10, 15.999, 16),
Block.box(0, 0, 0, 16, 8, 16),
Block.box(0, 11, 0, 16, 14, 16),
Block.box(0, 8, 13, 16, 11, 16),
Block.box(0, 8, 2, 4, 11, 13),
Block.box(10, 14, 2, 16, 16, 16)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_S, SHAPE_W;
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
SHAPE_S = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E);
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(WallSocketBlock.FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
@Inject(method = {"getMenuProvider"}, at = @At("HEAD"), cancellable = true)
public void getMenuProvider(BlockState blockState, Level level, BlockPos blockPos, CallbackInfoReturnable<MenuProvider> cir) {
cir.setReturnValue(new MenuProvider() {
@Override
public AbstractContainerMenu createMenu(int paramInt, @NotNull Inventory paramInventory, @NotNull Player paramPlayer) {
BlockEntity tileEntity = level.getBlockEntity(blockPos);
if (tileEntity instanceof PhotocopierBlockEntity photocopierBlockEntity) {
return new ChestMenu(MenuType.GENERIC_9x3, paramInt, paramInventory, photocopierBlockEntity, 3);
} else {
return null;
}
}
@Override
public @NotNull Component getDisplayName() {
return new TranslatableComponent(ModLangKeyValue.PHOTOCOPIER_MENU_LABEL.getKey());
}
});
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.PHOTOCOPIER_HOVER_FIRST.getKey()));
list.add(new TranslatableComponent(ModLangKeyValue.PHOTOCOPIER_HOVER_SECOND.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,44 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.PrinterBlock;
import com.dairymoose.modernlife.tileentities.PrinterBlockEntity;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.ChestMenu;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import org.jetbrains.annotations.NotNull;
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(PrinterBlock.class)
public class MixinPrinter {
@Inject(method = {"getMenuProvider"}, at = @At("HEAD"), cancellable = true)
public void getMenuProvider(BlockState blockState, Level level, BlockPos blockPos, CallbackInfoReturnable<MenuProvider> cir) {
cir.setReturnValue(new MenuProvider() {
public AbstractContainerMenu createMenu(int paramInt, @NotNull Inventory paramInventory, @NotNull Player paramPlayer) {
BlockEntity tileEntity = level.getBlockEntity(blockPos);
if (tileEntity instanceof PrinterBlockEntity printerBlockEntity) {
return new ChestMenu(MenuType.GENERIC_9x3, paramInt, paramInventory, printerBlockEntity, 3);
} else {
return null;
}
}
@Override
public @NotNull Component getDisplayName() {
return new TranslatableComponent(ModLangKeyValue.PRINTER_MENU_LABEL.getKey());
}
});
}
}

View File

@ -0,0 +1,66 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.RadiatorBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import java.util.stream.Stream;
import static com.dairymoose.modernlife.blocks.RadiatorBlock.FACING;
@Mixin(RadiatorBlock.class)
public class MixinRadiator {
@Unique
private static final VoxelShape SHAPE_N = Stream.of(
Block.box(1, 1, 4, 15, 3, 12),
Block.box(1, 3, 4, 3, 13, 12),
Block.box(4, 3, 4, 6, 13, 12),
Block.box(7, 3, 4, 9, 13, 12),
Block.box(10, 3, 4, 12, 13, 12),
Block.box(13, 3, 4, 15, 13, 12),
Block.box(1, 0, 10, 3, 1, 12),
Block.box(1, 0, 4, 3, 1, 6),
Block.box(13, 0, 10, 15, 1, 12),
Block.box(13, 0, 4, 15, 1, 6),
Block.box(3, 3, 5, 13, 12, 11)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_S, SHAPE_W;
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
SHAPE_S = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E);
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.STEAM_RADIATOR_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,40 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.TileLightBlock;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
@Mixin(TileLightBlock.class)
public class MixinTileLight {
@Unique
private static final VoxelShape SHAPE_N = Shapes.join(Block.box(5, 15, 5, 11, 16, 11), Block.box(6, 14, 6, 10, 15, 10), BooleanOp.OR);
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
cir.setReturnValue(SHAPE_N);
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.NEED_RED_STONE_POWER_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -1,25 +1,44 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.inventory.container.TrashCanContainer;
import com.dairymoose.modernlife.blocks.TrashCanBlock;
import com.dairymoose.modernlife.tileentities.TrashCanBlockEntity;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.NotNull;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import java.util.stream.Stream;
@Mixin(TrashCanBlock.class)
public abstract class MixinTrashCan extends Block implements EntityBlock {
public MixinTrashCan(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_N = Stream.of(
Block.box(6, 17, 7.5, 10, 18, 8.5),
@ -27,12 +46,31 @@ public abstract class MixinTrashCan extends Block implements EntityBlock {
Block.box(3, 0, 3, 13, 13, 13)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get();
public MixinTrashCan(Properties p_49795_) {
super(p_49795_);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
cir.setReturnValue(SHAPE_N);
}
@Inject(method = {"getMenuProvider"}, at = @At("HEAD"), cancellable = true)
public void getMenuProvider(BlockState blockState, Level level, BlockPos blockPos, CallbackInfoReturnable<MenuProvider> cir) {
cir.setReturnValue(new MenuProvider() {
public AbstractContainerMenu createMenu(int paramInt, @NotNull Inventory paramInventory, @NotNull Player paramPlayer) {
BlockEntity tileEntity = level.getBlockEntity(blockPos);
if (tileEntity instanceof TrashCanBlockEntity trashCanBlockEntity) {
return new TrashCanContainer(paramInt, paramInventory, trashCanBlockEntity);
} else {
return null;
}
}
@Override
public @NotNull Component getDisplayName() {
return new TranslatableComponent(ModLangKeyValue.TRASH_CAN_MENU_LABEL.getKey());
}
});
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.TRASH_CAN_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,36 @@
package com.r3944realms.modernlifepatch.mixin.block.common;
import com.dairymoose.modernlife.blocks.WallSocketBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(WallSocketBlock.class)
public class MixinWallSocket {
@Unique
private static final VoxelShape SHAPE_S = Block.box(5, 4, 0, 11, 12, 1), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(WallSocketBlock.FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -0,0 +1,45 @@
package com.r3944realms.modernlifepatch.mixin.block.kitchen;
import com.dairymoose.modernlife.blocks.KitchenCabinetBlock;
import com.dairymoose.modernlife.blocks.NightStandBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import com.r3944realms.modernlifepatch.modInterface.IContainMenu;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@SuppressWarnings("AddedMixinMembersNamePattern")
@Mixin(KitchenCabinetBlock.class)
public class MixinKitchenCabinet extends NightStandBlock implements IContainMenu {
@Override
public String ContainMenuLabel() {
return ModLangKeyValue.KITCHEN_CABINET_MENU_LABEL.getKey();
}
@Unique
private static final VoxelShape SHAPE_S = Block.box(0, 0, 0, 16, 16, 15), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -0,0 +1,49 @@
package com.r3944realms.modernlifepatch.mixin.block.kitchen;
import com.dairymoose.modernlife.blocks.KitchenDrawerCabinetBlock;
import com.dairymoose.modernlife.blocks.NightStandBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import com.r3944realms.modernlifepatch.modInterface.IContainMenu;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@SuppressWarnings("AddedMixinMembersNamePattern")
@Mixin(KitchenDrawerCabinetBlock.class)
public class MixinKitchenDrawerCabinet extends NightStandBlock implements IContainMenu {
public MixinKitchenDrawerCabinet(BlockBehaviour.Properties properties) {
super(properties);
}
@Override
public String ContainMenuLabel() {
return ModLangKeyValue.KITCHEN_DRAWER_CABINET_MENU_LABEL.getKey();
}
@Unique
private static final VoxelShape SHAPE_S = Block.box(0, 0, 0, 16, 16, 15), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -21,11 +21,13 @@ import java.util.stream.Stream;
@Mixin(KitchenSinkBlock.class)
public class MixinKitchenSink extends StandardHorizontalBlock {
public MixinKitchenSink(Properties p_i48377_1_) {
super(p_i48377_1_);
//这个居然是反的
public MixinKitchenSink(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_N = Stream.of(
private static final VoxelShape SHAPE_S = Stream.of(
Block.box(4, 3, 0, 12, 5, 3),
Block.box(5, 5, 1, 6, 6, 2),
Block.box(10, 5, 1, 11, 6, 2),
@ -37,19 +39,20 @@ public class MixinKitchenSink extends StandardHorizontalBlock {
Block.box(0, 0, 3, 3, 3, 13),
Block.box(13, 0, 3, 16, 3, 13),
Block.box(3, 0, 3, 13, 1, 13)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_S, SHAPE_W;
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_N, SHAPE_W;
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
SHAPE_S = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E);
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
SHAPE_N = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_W);
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_N);
case EAST -> cir.setReturnValue(SHAPE_W);
case WEST -> cir.setReturnValue(SHAPE_E);
default -> cir.setReturnValue(SHAPE_S);
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
}

View File

@ -46,6 +46,7 @@ public abstract class MixinMicrowave extends StandardHorizontalBlock implements
SHAPE_S_O = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E_O);
SHAPE_W_O = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S_O);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
boolean isOpen = bs.getValue(MicrowaveBlock.OPEN_DOOR);
@ -56,7 +57,7 @@ public abstract class MixinMicrowave extends StandardHorizontalBlock implements
default -> cir.setReturnValue(isOpen? SHAPE_N_O : SHAPE_N);
}
}
public MixinMicrowave(Properties p_i48377_1_) {
super(p_i48377_1_);
public MixinMicrowave(Properties properties) {
super(properties);
}
}

View File

@ -22,6 +22,9 @@ import java.util.stream.Stream;
@Mixin(StoveBlock.class)
public abstract class MixinStove extends StandardHorizontalBlock implements EntityBlock {
public MixinStove(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_N = Stream.of(
Stream.of(
@ -58,6 +61,7 @@ public abstract class MixinStove extends StandardHorizontalBlock implements Enti
SHAPE_S_O = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E_O);
SHAPE_W_O = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S_O);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
boolean isOpen = bs.getValue(StoveBlock.OPEN_DOOR);
@ -68,7 +72,5 @@ public abstract class MixinStove extends StandardHorizontalBlock implements Enti
default -> cir.setReturnValue(isOpen ? SHAPE_N_O : SHAPE_N);
}
}
public MixinStove(Properties p_i48377_1_) {
super(p_i48377_1_);
}
}

View File

@ -0,0 +1,119 @@
package com.r3944realms.modernlifepatch.mixin.block.lounge;
import com.dairymoose.modernlife.blocks.SofaBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.stream.Stream;
import static com.dairymoose.modernlife.blocks.SofaBlock.FACING;
import static com.dairymoose.modernlife.blocks.SofaBlock.TYPE;
@Mixin(SofaBlock.class)
public class MixinSofa {
@Unique
private static final VoxelShape SHAPE_N_SINGLE = Stream.of(
Block.box(0, 2, 13, 16, 17, 16),
Block.box(0, 2, 0, 3, 11, 13),
Block.box(13, 2, 0, 16, 11, 13),
Block.box(3, 2, 0, 13, 6, 13),
Block.box(3, 6, 3, 13, 8, 13),
Block.box(0, 0, 0, 16, 2, 16)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_W_SINGLE, SHAPE_S_SINGLE, SHAPE_E_SINGLE, SHAPE_S_MIDDLE, SHAPE_W_MIDDLE, SHAPE_N_MIDDLE, SHAPE_E_MIDDLE, SHAPE_S_LEFT, SHAPE_W_LEFT, SHAPE_N_LEFT, SHAPE_E_LEFT, SHAPE_S_RIGHT, SHAPE_W_RIGHT, SHAPE_N_RIGHT, SHAPE_E_RIGHT, SHAPE_S_CORNER, SHAPE_W_CORNER, SHAPE_N_CORNER, SHAPE_E_CORNER;
static {
SHAPE_E_SINGLE = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N_SINGLE);
SHAPE_S_SINGLE = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N_SINGLE);
SHAPE_W_SINGLE = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S_SINGLE);
SHAPE_N_MIDDLE = Stream.of(
Block.box(0, 2, 13, 16, 17, 16),
Block.box(0, 2, 0, 16, 6, 13),
Block.box(0, 6, 3, 16, 8, 13),
Block.box(0, 0, 0, 16, 2, 16)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get();
SHAPE_E_MIDDLE = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N_MIDDLE);
SHAPE_S_MIDDLE = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E_MIDDLE);
SHAPE_W_MIDDLE = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S_MIDDLE);
SHAPE_N_LEFT = Stream.of(
Block.box(0, 2, 13, 16, 17, 16),
Block.box(13, 2, 0, 16, 11, 13),
Block.box(0, 2, 0, 13, 6, 13),
Block.box(0, 6, 3, 13, 8, 13),
Block.box(0, 0, 0, 16, 2, 16)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get();
SHAPE_E_LEFT = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N_LEFT);
SHAPE_S_LEFT = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E_LEFT);
SHAPE_W_LEFT = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S_LEFT);
SHAPE_N_RIGHT = Stream.of(
Block.box(0, 2, 13, 16, 17, 16),
Block.box(0, 2, 0, 3, 11, 13),
Block.box(3, 2, 0, 16, 6, 13),
Block.box(3, 6, 3, 16, 8, 13),
Block.box(0, 0, 0, 16, 2, 16)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get();
SHAPE_E_RIGHT = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N_RIGHT);
SHAPE_S_RIGHT = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E_RIGHT);
SHAPE_W_RIGHT = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S_RIGHT);
SHAPE_N_CORNER = Stream.of(
Block.box(0, 2, 13, 16, 17, 16),
Block.box(13, 2, 0, 16, 17, 13),
Block.box(0, 2, 0, 13, 6, 13),
Block.box(0, 6, 3, 13, 8, 13),
Block.box(3, 6, 0, 13, 8, 3),
Block.box(0, 0, 0, 16, 2, 16)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get();
SHAPE_E_CORNER = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N_CORNER);
SHAPE_S_CORNER = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E_CORNER);
SHAPE_W_CORNER = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S_CORNER);
}
@Inject(method = {"getShape"}, at = @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
if (bs.getValue(TYPE) == SofaBlock.SofaType.single) {
if (MLP$SwitchInner(bs, cir, SHAPE_N_SINGLE, SHAPE_S_SINGLE, SHAPE_E_SINGLE, SHAPE_W_SINGLE)) return;
} else if (bs.getValue(TYPE) == SofaBlock.SofaType.middle) {
if (MLP$SwitchInner(bs, cir, SHAPE_N_MIDDLE, SHAPE_S_MIDDLE, SHAPE_E_MIDDLE, SHAPE_W_MIDDLE)) return;
} else if (bs.getValue(TYPE) == SofaBlock.SofaType.left) {
if (MLP$SwitchInner(bs, cir, SHAPE_N_LEFT, SHAPE_S_LEFT, SHAPE_E_LEFT, SHAPE_W_LEFT)) return;
} else if (bs.getValue(TYPE) == SofaBlock.SofaType.right) {
if (MLP$SwitchInner(bs, cir, SHAPE_N_RIGHT, SHAPE_S_RIGHT, SHAPE_E_RIGHT, SHAPE_W_RIGHT)) return;
} else if (bs.getValue(TYPE) == SofaBlock.SofaType.corner) {
if (MLP$SwitchInner(bs, cir, SHAPE_N_CORNER, SHAPE_S_CORNER, SHAPE_E_CORNER, SHAPE_W_CORNER)) return;
}
cir.setReturnValue(SHAPE_N_SINGLE);
}
@Unique
private boolean MLP$SwitchInner(BlockState bs, CallbackInfoReturnable<VoxelShape> cir, VoxelShape shapeNRight, VoxelShape shapeSRight, VoxelShape shapeERight, VoxelShape shapeWRight) {
switch (bs.getValue(FACING)) {
case NORTH -> {
cir.setReturnValue(shapeNRight);
return true;
}
case SOUTH -> {
cir.setReturnValue(shapeSRight);
return true;
}
case EAST -> {
cir.setReturnValue(shapeERight);
return true;
}
case WEST -> {
cir.setReturnValue(shapeWRight);
return true;
}
}
return false;
}
//咕咕咕~
}

View File

@ -2,7 +2,12 @@ package com.r3944realms.modernlifepatch.mixin.block.redstone;
import com.dairymoose.modernlife.blocks.ExtractorBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
@ -14,8 +19,10 @@ import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import java.util.stream.Stream;
@Mixin(ExtractorBlock.class)
@ -27,14 +34,21 @@ public class MixinExtractor {
Block.box(3, 2, -1, 13, 12, 2),
Block.box(4, 3, 4, 12, 11, 12)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E;
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
}
@Inject(method = "getShape", at = @At("HEAD"), cancellable = true)
public void getShape(BlockState p_220053_1_, BlockGetter p_220053_2_, BlockPos p_220053_3_, CollisionContext p_220053_4_, CallbackInfoReturnable<VoxelShape> cir) {
switch (p_220053_1_.getValue(ExtractorBlock.FACING)) {
public void getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext, CallbackInfoReturnable<VoxelShape> cir) {
switch (blockState.getValue(ExtractorBlock.FACING)) {
case EAST,WEST -> cir.setReturnValue(SHAPE_E);
default -> cir.setReturnValue(SHAPE_N);
}
}
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.EXTRACTOR_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -1,7 +1,12 @@
package com.r3944realms.modernlifepatch.mixin.block.redstone;
import com.dairymoose.modernlife.blocks.PowerReceiverBlock;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
@ -10,21 +15,34 @@ import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
@SuppressWarnings("AddedMixinMembersNamePattern")
@Mixin(PowerReceiverBlock.class)
public class MixinPowerReceiver {
@Unique
private static final VoxelShape _SHAPE_ =
Shapes.join(
Block.box(5, 10, 5, 11, 16, 11),
Block.box(0, 0, 0, 16, 5, 16),
BooleanOp.OR);
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
VoxelShape combinedShape =
Shapes.join(
Block.box(5, 10, 5, 11, 16, 11),
Block.box(0, 0, 0, 16, 5, 16),
BooleanOp.OR);
cir.setReturnValue(combinedShape);
cir.setReturnValue(_SHAPE_);
}
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.POWER_RECEIVER_HOVER_FIRST.getKey()));
list.add(new TranslatableComponent(ModLangKeyValue.POWER_RECEIVER_AND_TRANSMITTER_HOVER_SECOND.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,25 @@
package com.r3944realms.modernlifepatch.mixin.block.redstone;
import com.dairymoose.modernlife.blocks.PowerTransmitterBlock;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
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;
import java.util.List;
@Mixin(PowerTransmitterBlock.class)
public class MixinPowerTransmitter {
@Inject(method = {"appendHoverText"}, at = @At("HEAD"), cancellable = true)
private void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.POWER_TRANSMITTER_FIRST.getKey()));
list.add(new TranslatableComponent(ModLangKeyValue.POWER_RECEIVER_AND_TRANSMITTER_HOVER_SECOND.getKey()));
ci.cancel();
}
}

View File

@ -0,0 +1,60 @@
package com.r3944realms.modernlifepatch.mixin.block.redstone;
import com.dairymoose.modernlife.blocks.StandardHorizontalBlock;
import com.dairymoose.modernlife.blocks.TurntableBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import java.util.stream.Stream;
@Mixin(TurntableBlock.class)
public class MixinTurntableBlock extends StandardHorizontalBlock {
public MixinTurntableBlock(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape SHAPE_N = Stream.of(
Block.box(4, 0, 4, 12, 6, 12),
Block.box(0, 13, 0, 16, 16, 16),
Block.box(6, 6, 6, 10, 13, 10)
).reduce((v1, v2) -> Shapes.join(v1, v2, BooleanOp.OR)).get(), SHAPE_E, SHAPE_S, SHAPE_W;
static {
SHAPE_E = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_N);
SHAPE_S = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_E);
SHAPE_W = ModernLifeUtil.RotateVoxelShapeClockwise(SHAPE_S);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
switch (bs.getValue(FACING)) {
case SOUTH -> cir.setReturnValue(SHAPE_S);
case EAST -> cir.setReturnValue(SHAPE_E);
case WEST -> cir.setReturnValue(SHAPE_W);
default -> cir.setReturnValue(SHAPE_N);
}
}
@Inject(method = {"appendHoverText"}, at = @At("HEAD"), cancellable = true)
private void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.TURNTABLE_HOVER.getKey()));
ci.cancel();
}
}

View File

@ -2,7 +2,12 @@ package com.r3944realms.modernlifepatch.mixin.block.redstone;
import com.dairymoose.modernlife.blocks.WinchBlock;
import com.dairymoose.modernlife.util.ModernLifeUtil;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.EntityBlock;
@ -16,12 +21,18 @@ import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.awt.*;
import java.util.List;
import java.util.stream.Stream;
@Mixin(WinchBlock.class)
public abstract class MixinWinch extends FaceAttachedHorizontalDirectionalBlock implements EntityBlock {
public MixinWinch(Properties properties) {
super(properties);
}
@Unique
private static final VoxelShape __SHAPE_FLOOR_SOUTH ,_SHAPE_FLOOR_WEST, _SHAPE_FLOOR_NORTH, _SHAPE_FLOOR_EAST, _SHAPE_WALL_SOUTH, _SHAPE_WALL_WEST, _SHAPE_WALL_NORTH, _SHAPE_WALL_EAST, _SHAPE_CEILING_SOUTH, _SHAPE_CEILING_WEST, _SHAPE_CEILING_NORTH, _SHAPE_CEILING_EAST;
static {
@ -44,10 +55,6 @@ public abstract class MixinWinch extends FaceAttachedHorizontalDirectionalBlock
_SHAPE_CEILING_NORTH = ModernLifeUtil.RotateVoxelShapeClockwise(_SHAPE_CEILING_WEST);
_SHAPE_CEILING_EAST = ModernLifeUtil.RotateVoxelShapeClockwise(_SHAPE_CEILING_NORTH);
}
public MixinWinch(Properties p_53182_) {
super(p_53182_);
}
@Inject(method = {"getShape"}, at= @At("HEAD"), cancellable = true)
public void getShape(BlockState bs, BlockGetter reader, BlockPos pos, CollisionContext sel, CallbackInfoReturnable<VoxelShape> cir) {
@ -68,6 +75,11 @@ public abstract class MixinWinch extends FaceAttachedHorizontalDirectionalBlock
cir.setReturnValue(_SHAPE_FLOOR_NORTH);
}
}
@Inject(method = {"appendHoverText"}, at = @At("HEAD"), cancellable = true)
private void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
list.add(new TranslatableComponent(ModLangKeyValue.NEED_RED_STONE_POWER_HOVER.getKey()));
ci.cancel();
}
@Unique
private void MH$SwitchInner(BlockState bs, CallbackInfoReturnable<VoxelShape> cir, VoxelShape shapeFloorNorth, VoxelShape shapeFloorEast, VoxelShape shapeFloorWest, VoxelShape shapeFloorSouth) {
@ -78,4 +90,5 @@ public abstract class MixinWinch extends FaceAttachedHorizontalDirectionalBlock
case SOUTH -> cir.setReturnValue(shapeFloorSouth);
}
}
}

View File

@ -0,0 +1,22 @@
package com.r3944realms.modernlifepatch.mixin.screen;
import com.dairymoose.modernlife.blocks.gui.PrinterScreen;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;
@Mixin(PrinterScreen.class)
public class MixinPrinterScreen extends Screen {
protected MixinPrinterScreen(Component component) {
super(component);
}
@ModifyArg(method = {"<init>(Lnet/minecraft/core/BlockPos;)V"}, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;<init>(Lnet/minecraft/network/chat/Component;)V"), index = 0)
private static Component onInit(Component component) {
return new TranslatableComponent(ModLangKeyValue.PRINTER_SIZE_MENU_LABEL.getKey());
}
}

View File

@ -0,0 +1,22 @@
package com.r3944realms.modernlifepatch.mixin.screen;
import com.dairymoose.modernlife.blocks.gui.RadiatorScreen;
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;
@Mixin(RadiatorScreen.class)
public class MixinRadiatorScreen extends Screen {
protected MixinRadiatorScreen(Component component) {
super(component);
}
@ModifyArg(method = {"<init>"}, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;<init>(Lnet/minecraft/network/chat/Component;)V"), index = 0)
private static Component onInit(Component component) {
return new TranslatableComponent(ModLangKeyValue.STEAM_RADIATOR_MENU_LABEL.getKey());
}
}

View File

@ -0,0 +1,7 @@
package com.r3944realms.modernlifepatch.modInterface;
public interface IContainMenu {
default String ContainMenuLabel() {
return "";
}
}

View File

@ -0,0 +1,11 @@
package com.r3944realms.modernlifepatch.utils.Enum;
public enum LanguageEnum {
English("en_us"),
SimpleChinese("zh_cn")
;
public final String local;
LanguageEnum(String local) {
this.local = local;
}
}

View File

@ -0,0 +1,9 @@
package com.r3944realms.modernlifepatch.utils.String;
public class StringValidator {
public static boolean isNotValidMinecraftKey(String key) {
// 正则表达式匹配只包含小写字母数字和下划线的字符串
String regex = "^[a-z0-9_]+$";
return !key.matches(regex);
}
}

View File

@ -28,7 +28,7 @@ displayName="Modern Life Patch" #mandatory
#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional
# A file name (in the root of the mod JAR) containing a logo for display
logoFile="mod-logo.png" #optional
logoFile= "../resourcepacks/new_modern_life/modernlife/mod-logo.png" #optional
# A text field displayed in the mod UI
credits="""
All of tetxures and models are created by BF_MeowDo not use for other purposes without permission.
@ -60,4 +60,4 @@ A patch was made due to too many flaws in the original author's graphic design.
# This version range declares a minimum of the current minecraft version up to but not including the next major version
versionRange="[1.18.2,1.19)"
ordering="NONE"
side="BOTH"
side="BOTH"

View File

@ -1,7 +1,605 @@
{
"item.modernlife.gun_magazine": "弹匣",
"item.modernlife.extended_gun_magazine": "扩展弹匣",
"block.modernlife.jail_bars": "监狱铁栏",
"block.modernlife.steam_radiator": "蒸汽散热器",
"block.modernlife.modern_acacia_bookshelf": "现代相思书架",
"block.modernlife.modern_birch_bookshelf": "现代桦木书架",
"block.modernlife.modern_crimson_bookshelf": "现代深红色书架",
"block.modernlife.modern_dark_oak_bookshelf": "现代深色橡木书架",
"block.modernlife.modern_jungle_bookshelf": "现代丛林书架",
"block.modernlife.modern_oak_bookshelf": "现代橡木书架",
"block.modernlife.modern_spruce_bookshelf": "现代云杉书架",
"block.modernlife.modern_warped_bookshelf": "现代诡异木书架",
"block.modernlife.easel": "画架",
"block.modernlife.glass_stairs": "玻璃楼梯",
"block.modernlife.metal_catwalk": "马道",
"block.modernlife.toilet": "马桶"
}
"item.modernlife.handgun": "手枪",
"item.modernlife.bullet": "子弹",
"item.modernlife.bullet_strip": "子弹带",
"item.modernlife.gun_magazine": "弹匣",
"item.modernlife.extended_gun_magazine": "扩容弹匣",
"block.modernlife.light_switch": "电灯开关",
"block.modernlife.canvas": "(帆布)画布",
"block.modernlife.bathtub": "浴缸",
"block.modernlife.mirror": "镜子",
"block.modernlife.winch": "绞盘",
"block.modernlife.winch_anchor": "绞盘锚",
"block.modernlife.electrical_outlet": "电源插座",
"block.modernlife.air_conditioner": "冷气机",
"block.modernlife.metal_duct": "金属风管",
"block.modernlife.hot_water_heater": "热水器",
"block.modernlife.cctv_screen": "闭路电视屏幕",
"block.modernlife.cctv_camera": "闭路电视摄像机",
"block.modernlife.tall_mirror": "高镜子",
"block.modernlife.large_mirror": "大镜子",
"block.modernlife.massive_mirror": "大镜子",
"block.modernlife.dishwasher": "洗碗机",
"block.modernlife.kitchen_sink": "厨房水槽",
"block.modernlife.alarm_clock": "闹钟",
"block.modernlife.acacia_wall_shelf": "金合欢墙架",
"block.modernlife.birch_wall_shelf": "桦木墙架",
"block.modernlife.crimson_wall_shelf": "深红色木壁架",
"block.modernlife.dark_oak_wall_shelf": "深色橡木墙架子",
"block.modernlife.jungle_wall_shelf": "丛林木墙架",
"block.modernlife.oak_wall_shelf": "橡木墙架子",
"block.modernlife.spruce_wall_shelf": "云杉木壁架",
"block.modernlife.warped_wall_shelf": "诡异木壁架",
"block.modernlife.double_acacia_wall_shelf": "双层相思墙架",
"block.modernlife.double_birch_wall_shelf": "双层桦木墙架",
"block.modernlife.double_crimson_wall_shelf": "双层深红色壁架",
"block.modernlife.double_dark_oak_wall_shelf": "双层深色橡木墙架子",
"block.modernlife.double_jungle_wall_shelf": "双层丛林木墙架",
"block.modernlife.double_oak_wall_shelf": "双层橡木墙架子",
"block.modernlife.double_spruce_wall_shelf": "双层云杉木墙架",
"block.modernlife.double_warped_wall_shelf": "双层诡异木壁架",
"item.modernlife.acacia_glass_door": "金合欢玻璃门",
"block.modernlife.acacia_glass_door": "金合欢玻璃门",
"item.modernlife.birch_glass_door": "桦木玻璃门",
"block.modernlife.birch_glass_door": "桦木玻璃门",
"item.modernlife.crimson_glass_door": "深红色木玻璃门",
"block.modernlife.crimson_glass_door": "深红色木玻璃门",
"item.modernlife.dark_oak_glass_door": "深色橡木玻璃门",
"block.modernlife.dark_oak_glass_door": "深色橡木玻璃门",
"item.modernlife.glass_door": "玻璃门",
"block.modernlife.glass_door": "玻璃门",
"item.modernlife.iron_glass_door": "铁玻璃门",
"block.modernlife.iron_glass_door": "铁玻璃门",
"item.modernlife.jungle_glass_door": "丛林木玻璃门",
"block.modernlife.jungle_glass_door": "丛林木玻璃门",
"item.modernlife.oak_glass_door": "橡木玻璃门",
"block.modernlife.oak_glass_door": "橡木玻璃门",
"item.modernlife.spruce_glass_door": "云杉木玻璃门",
"block.modernlife.spruce_glass_door": "云杉木玻璃门",
"item.modernlife.warped_glass_door": "诡异木玻璃门",
"block.modernlife.warped_glass_door": "诡异木玻璃门",
"block.modernlife.cobblestone_ramp": "圆石坡道",
"block.modernlife.stone_ramp": "石坡道",
"block.modernlife.stone_bricks_ramp": "石砖坡道",
"block.modernlife.cracked_stone_bricks_ramp": "裂纹石砖坡道",
"block.modernlife.mossy_stone_bricks_ramp": "苔石砖坡道",
"block.modernlife.chiseled_stone_bricks_ramp": "凿石砖坡道",
"block.modernlife.clay_ramp": "粘土坡道",
"block.modernlife.sand_ramp": "沙坡道",
"block.modernlife.red_sand_ramp": "红沙坡道",
"block.modernlife.smooth_stone_ramp": "光滑石坡道",
"block.modernlife.dirt_ramp": "泥土坡道",
"block.modernlife.acacia_log_ramp": "金合欢原木坡道",
"block.modernlife.birch_log_ramp": "土坡道",
"block.modernlife.chiseled_quartz_ramp": "凿子石英坡道",
"block.modernlife.cobbled_deepslate_ramp": "圆石深岩坡道",
"block.modernlife.crimson_log_ramp": "深红色原木斜坡",
"block.modernlife.dark_oak_log_ramp": "黑橡木原木坡道",
"block.modernlife.deepslate_ramp": "深石板灾难",
"block.modernlife.glass_ramp": "玻璃坡道",
"block.modernlife.jungle_log_ramp": "丛林日志斜坡",
"block.modernlife.oak_log_ramp": "橡木原木坡道",
"block.modernlife.quartz_bricks_ramp": "石英砖坡道",
"block.modernlife.quartz_pillar_ramp": "石英柱坡道",
"block.modernlife.quartz_ramp": "石英斜坡",
"block.modernlife.smooth_quartz_ramp": "平滑石英斜坡",
"block.modernlife.spruce_log_ramp": "云杉原木坡道",
"block.modernlife.stripped_acacia_log_ramp": "剥皮的金合欢原木斜坡",
"block.modernlife.stripped_birch_log_ramp": "剥皮的桦木原木坡道",
"block.modernlife.stripped_crimson_log_ramp": "剥皮的深红色原木斜坡",
"block.modernlife.stripped_dark_oak_log_ramp": "剥皮的深色橡木原木坡道",
"block.modernlife.stripped_jungle_log_ramp": "剥皮的丛林原木坡道",
"block.modernlife.stripped_oak_log_ramp": "剥皮橡木原木坡道",
"block.modernlife.stripped_spruce_log_ramp": "剥皮云杉原木坡道",
"block.modernlife.stripped_warped_log_ramp": "剥皮的诡异木原木斜坡",
"block.modernlife.warped_log_ramp": "诡异木原木斜坡",
"block.modernlife.gravel_ramp": "砾石坡道",
"block.modernlife.granite_ramp": "花岗岩坡道",
"block.modernlife.polished_granite_ramp": "磨制花岗岩坡道",
"block.modernlife.diorite_ramp": "闪长岩坡道",
"block.modernlife.polished_diorite_ramp": "磨制闪长岩坡道",
"block.modernlife.obsidian_ramp": "黑曜石坡道",
"block.modernlife.andesite_ramp": "安山岩坡道",
"block.modernlife.polished_andesite_ramp": "磨制安山岩坡道",
"block.modernlife.mossy_cobblestone_ramp": "长满苔藓的圆石坡道",
"block.modernlife.bricks_ramp": "砖坡道",
"block.modernlife.terracotta_ramp": "红陶坡道",
"block.modernlife.sandstone_ramp": "砂岩坡道",
"block.modernlife.chiseled_sandstone_ramp": "錾制砂岩坡道",
"block.modernlife.cut_sandstone_ramp": "切割砂岩坡道",
"block.modernlife.red_sandstone_ramp": "红砂岩坡道",
"block.modernlife.chiseled_red_sandstone_ramp": "轮廓分明的红砂岩坡道",
"block.modernlife.cut_red_sandstone_ramp": "切割红砂岩坡道",
"block.modernlife.prismarine_ramp": "海晶石坡道",
"block.modernlife.prismarine_bricks_ramp": "海晶石砖坡道",
"block.modernlife.dark_prismarine_ramp": "黑暗海晶斜坡",
"block.modernlife.blackstone_ramp": "黑石坡道",
"block.modernlife.polished_blackstone_ramp": "磨制黑石坡道",
"block.modernlife.polished_blackstone_bricks_ramp": "磨制黑石砖坡道",
"block.modernlife.chiseled_polished_blackstone_ramp": "轮廓分明的磨制黑石坡道",
"block.modernlife.netherrack_ramp": "下界岩斜坡",
"block.modernlife.nether_bricks_ramp": "下界砖坡道",
"block.modernlife.chiseled_nether_bricks_ramp": "錾制下界砖坡道",
"block.modernlife.acacia_ramp": "金合欢坡道",
"block.modernlife.birch_ramp": "桦木坡道",
"block.modernlife.crimson_ramp": "深红木坡道",
"block.modernlife.dark_oak_ramp": "深色橡木坡道",
"block.modernlife.jungle_ramp": "丛林木坡道",
"block.modernlife.oak_ramp": "橡木坡道",
"block.modernlife.spruce_ramp": "云杉木坡道",
"block.modernlife.warped_ramp": "诡异木坡道",
"item.modernlife.extractor": "提取器",
"block.modernlife.extractor": "提取器",
"container.extractor": "提取器",
"block.modernlife.acacia_night_stand": "金合欢床头柜",
"block.modernlife.birch_night_stand": "桦木床头柜",
"block.modernlife.crimson_night_stand": "深红色木床头柜",
"block.modernlife.dark_oak_night_stand": "深色橡木床头柜",
"block.modernlife.jungle_night_stand": "丛林木床头柜",
"block.modernlife.oak_night_stand": "橡木床头柜",
"block.modernlife.spruce_night_stand": "云杉木床头柜",
"block.modernlife.warped_night_stand": "诡异木床头柜",
"block.modernlife.cobblestone_kitchen_cabinet": "圆石厨房柜子",
"block.modernlife.cobblestone_kitchen_drawer_cabinet": "圆石厨房抽屉",
"block.modernlife.stone_kitchen_cabinet": "石材厨房柜子",
"block.modernlife.stone_kitchen_drawer_cabinet": "石制厨房抽屉",
"block.modernlife.stone_bricks_kitchen_cabinet": "石砖厨房柜子",
"block.modernlife.stone_bricks_kitchen_drawer_cabinet": "石砖厨房抽屉",
"block.modernlife.cracked_stone_bricks_kitchen_cabinet": "裂纹石砖厨房柜子",
"block.modernlife.cracked_stone_bricks_kitchen_drawer_cabinet": "裂纹石砖厨房抽屉",
"block.modernlife.mossy_stone_bricks_kitchen_cabinet": "苔藓石砖厨房柜子",
"block.modernlife.mossy_stone_bricks_kitchen_drawer_cabinet": "苔藓石砖厨房抽屉",
"block.modernlife.chiseled_stone_bricks_kitchen_cabinet": "錾制石砖厨房柜子",
"block.modernlife.chiseled_stone_bricks_kitchen_drawer_cabinet": "凿石砖厨房抽屉",
"block.modernlife.clay_kitchen_cabinet": "粘土厨房柜子",
"block.modernlife.clay_kitchen_drawer_cabinet": "粘土厨房抽屉",
"block.modernlife.sand_kitchen_cabinet": "沙子厨房柜子",
"block.modernlife.sand_kitchen_drawer_cabinet": "沙子厨房抽屉",
"block.modernlife.red_sand_kitchen_cabinet": "红沙厨房柜子",
"block.modernlife.red_sand_kitchen_drawer_cabinet": "红沙厨房抽屉",
"block.modernlife.smooth_stone_kitchen_cabinet": "光滑石材厨房柜子",
"block.modernlife.smooth_stone_kitchen_drawer_cabinet": "平滑石头厨房抽屉",
"block.modernlife.gravel_kitchen_cabinet": "砾石厨房柜子",
"block.modernlife.gravel_kitchen_drawer_cabinet": "砾石厨房抽屉",
"block.modernlife.granite_kitchen_cabinet": "花岗岩厨房柜子",
"block.modernlife.granite_kitchen_drawer_cabinet": "花岗岩厨房抽屉",
"block.modernlife.polished_granite_kitchen_cabinet": "磨制花岗岩厨房柜子",
"block.modernlife.polished_granite_kitchen_drawer_cabinet": "磨制花岗岩厨房抽屉",
"block.modernlife.diorite_kitchen_cabinet": "闪长岩厨房柜子",
"block.modernlife.diorite_kitchen_drawer_cabinet": "闪长岩厨房抽屉",
"block.modernlife.polished_diorite_kitchen_cabinet": "磨制闪长岩厨房柜子",
"block.modernlife.polished_diorite_kitchen_drawer_cabinet": "磨制闪长岩厨房抽屉",
"block.modernlife.obsidian_kitchen_cabinet": "黑曜石厨房柜子",
"block.modernlife.obsidian_kitchen_drawer_cabinet": "黑曜石厨房抽屉",
"block.modernlife.andesite_kitchen_cabinet": "安山岩厨房柜子",
"block.modernlife.andesite_kitchen_drawer_cabinet": "安山岩厨房抽屉",
"block.modernlife.polished_andesite_kitchen_cabinet": "磨制安山岩厨房柜子",
"block.modernlife.polished_andesite_kitchen_drawer_cabinet": "磨制安山岩厨房抽屉",
"block.modernlife.mossy_cobblestone_kitchen_cabinet": "长满苔藓的圆石厨房柜子",
"block.modernlife.mossy_cobblestone_kitchen_drawer_cabinet": "长满苔藓的圆石厨房抽屉",
"block.modernlife.bricks_kitchen_cabinet": "砖厨房柜子",
"block.modernlife.bricks_kitchen_drawer_cabinet": "砖厨房抽屉",
"block.modernlife.terracotta_kitchen_cabinet": "赤陶厨房柜子",
"block.modernlife.terracotta_kitchen_drawer_cabinet": "赤陶厨房抽屉",
"block.modernlife.sandstone_kitchen_cabinet": "砂岩厨房柜子",
"block.modernlife.sandstone_kitchen_drawer_cabinet": "砂岩厨房抽屉",
"block.modernlife.chiseled_sandstone_kitchen_cabinet": "錾制砂岩厨房柜子",
"block.modernlife.chiseled_sandstone_kitchen_drawer_cabinet": "轮廓分明的砂岩厨房抽屉",
"block.modernlife.cut_sandstone_kitchen_cabinet": "切割砂岩厨房柜子",
"block.modernlife.cut_sandstone_kitchen_drawer_cabinet": "切割砂岩厨房抽屉",
"block.modernlife.red_sandstone_kitchen_cabinet": "红砂岩厨房柜子",
"block.modernlife.red_sandstone_kitchen_drawer_cabinet": "红砂岩厨房抽屉",
"block.modernlife.chiseled_red_sandstone_kitchen_cabinet": "轮廓分明的红砂岩厨房柜子",
"block.modernlife.chiseled_red_sandstone_kitchen_drawer_cabinet": "轮廓分明的红砂岩厨房抽屉",
"block.modernlife.cut_red_sandstone_kitchen_cabinet": "切割红砂岩厨房柜子",
"block.modernlife.cut_red_sandstone_kitchen_drawer_cabinet": "切割红砂岩厨房抽屉",
"block.modernlife.prismarine_kitchen_cabinet": "海晶石厨房柜子",
"block.modernlife.prismarine_kitchen_drawer_cabinet": "海晶石厨房抽屉",
"block.modernlife.prismarine_bricks_kitchen_cabinet": "海晶石砖厨房柜子",
"block.modernlife.prismarine_bricks_kitchen_drawer_cabinet": "海晶石砖厨房抽屉",
"block.modernlife.dark_prismarine_kitchen_cabinet": "深海晶石厨房柜子",
"block.modernlife.dark_prismarine_kitchen_drawer_cabinet": "深海晶石厨房抽屉",
"block.modernlife.blackstone_kitchen_cabinet": "黑石厨房柜子",
"block.modernlife.blackstone_kitchen_drawer_cabinet": "黑石厨房抽屉",
"block.modernlife.polished_blackstone_kitchen_cabinet": "磨制黑石厨房柜子",
"block.modernlife.polished_blackstone_kitchen_drawer_cabinet": "磨制黑石厨房抽屉",
"block.modernlife.polished_blackstone_bricks_kitchen_cabinet": "磨制黑石砖厨房柜子",
"block.modernlife.polished_blackstone_bricks_kitchen_drawer_cabinet": "磨制黑石砖厨房抽屉",
"block.modernlife.chiseled_polished_blackstone_kitchen_cabinet": "錾制磨制黑石厨房柜子",
"block.modernlife.chiseled_polished_blackstone_kitchen_drawer_cabinet": "錾制磨制黑石厨房抽屉",
"block.modernlife.netherrack_kitchen_cabinet": "下界岩厨房柜子",
"block.modernlife.netherrack_kitchen_drawer_cabinet": "下界岩厨房抽屉",
"block.modernlife.nether_bricks_kitchen_cabinet": "下界砖厨房柜子",
"block.modernlife.nether_bricks_kitchen_drawer_cabinet": "下界砖厨房抽屉",
"block.modernlife.chiseled_nether_bricks_kitchen_cabinet": "錾制下界砖厨房柜子",
"block.modernlife.chiseled_nether_bricks_kitchen_drawer_cabinet": "錾制下界砖厨房抽屉",
"block.modernlife.acacia_kitchen_cabinet": "金合欢厨房柜子",
"block.modernlife.acacia_kitchen_drawer_cabinet": "金合欢厨房抽屉",
"block.modernlife.birch_kitchen_cabinet": "桦木厨房柜子",
"block.modernlife.birch_kitchen_drawer_cabinet": "桦木厨房抽屉",
"block.modernlife.crimson_kitchen_cabinet": "绯红木厨房柜子",
"block.modernlife.crimson_kitchen_drawer_cabinet": "绯红木厨房抽屉",
"block.modernlife.dark_oak_kitchen_cabinet": "深色橡木厨房柜子",
"block.modernlife.dark_oak_kitchen_drawer_cabinet": "深色橡木厨房抽屉",
"block.modernlife.jungle_kitchen_cabinet": "从林木厨房柜子",
"block.modernlife.jungle_kitchen_drawer_cabinet": "从林木厨房抽屉",
"block.modernlife.oak_kitchen_cabinet": "橡木厨房柜子",
"block.modernlife.oak_kitchen_drawer_cabinet": "橡木厨房抽屉",
"block.modernlife.spruce_kitchen_cabinet": "云杉木厨房柜子",
"block.modernlife.spruce_kitchen_drawer_cabinet": "云杉木厨房抽屉",
"block.modernlife.warped_kitchen_cabinet": "诡异木厨房柜子",
"block.modernlife.warped_kitchen_drawer_cabinet": "诡异木厨房抽屉",
"block.modernlife.shower_head": "淋浴头",
"item.modernlife.shower_head": "淋浴头",
"block.modernlife.glass_panel": "玻璃面板",
"item.modernlife.glass_panel": "玻璃面板",
"block.modernlife.tile_light": "瓷砖灯",
"item.modernlife.tile_light": "瓷砖灯",
"block.modernlife.metal_grate": "金属炉排",
"item.modernlife.metal_grate": "金属炉排",
"block.modernlife.light_bulb": "灯泡",
"item.modernlife.light_bulb": "灯泡",
"block.modernlife.arrow_slit": "箭孔",
"item.modernlife.arrow_slit": "箭孔",
"block.modernlife.toilet": "马桶",
"item.modernlife.toilet": "马道",
"item.modernlife.chainsaw": "电锯",
"modernlife.subtitle.boat_motor": "电机嗡嗡声",
"modernlife.subtitle.chainsaw_running": "电锯嗡嗡声",
"modernlife.subtitle.chainsaw_idle": "电锯空转",
"modernlife.subtitle.chainsaw_start": "电锯启动",
"modernlife.subtitle.chainsaw_stop": "电锯停止",
"modernlife.subtitle.gun_fire": "枪声",
"modernlife.subtitle.gun_reload": "枪装弹",
"block.modernlife.vinyl_siding": "乙烯基壁板",
"item.modernlife.vinyl_siding": "乙烯基壁板",
"block.modernlife.red_vinyl_siding": "红色乙烯基壁板",
"item.modernlife.red_vinyl_siding": "红色乙烯基壁板",
"block.modernlife.green_vinyl_siding": "绿色乙烯基壁板",
"item.modernlife.green_vinyl_siding": "绿色乙烯基壁板",
"block.modernlife.gray_vinyl_siding": "灰色乙烯基壁板",
"item.modernlife.gray_vinyl_siding": "灰色乙烯基壁板",
"block.modernlife.blue_vinyl_siding": "蓝色乙烯基壁板",
"item.modernlife.blue_vinyl_siding": "蓝色乙烯基壁板",
"block.modernlife.black_painted_drywall": "黑色彩绘石膏板",
"block.modernlife.blue_painted_drywall": "黑色彩绘石膏板",
"block.modernlife.brown_painted_drywall": "棕色彩绘石膏板",
"block.modernlife.cyan_painted_drywall": "青色彩绘石膏板",
"block.modernlife.gray_painted_drywall": "灰色彩绘石膏板",
"block.modernlife.green_painted_drywall": "绿色彩绘石膏板",
"block.modernlife.light_blue_painted_drywall": "浅蓝色彩绘石膏板",
"block.modernlife.light_gray_painted_drywall": "浅蓝色彩绘石膏板",
"block.modernlife.lime_painted_drywall": "石灰彩绘石膏板",
"block.modernlife.magenta_painted_drywall": "洋红色彩绘石膏板",
"block.modernlife.orange_painted_drywall": "橙色彩绘石膏板",
"block.modernlife.pink_painted_drywall": "粉色彩绘石膏板",
"block.modernlife.purple_painted_drywall": "紫色彩绘石膏板",
"block.modernlife.red_painted_drywall": "红色彩绘石膏板",
"block.modernlife.white_painted_drywall": "白色彩绘石膏板",
"block.modernlife.yellow_painted_drywall": "黄色彩绘石膏板",
"block.modernlife.four_panel_window": "四面板窗口",
"item.modernlife.four_panel_window": "四面板窗口",
"block.modernlife.six_panel_window": "六面板窗口",
"item.modernlife.six_panel_window": "六面板窗口",
"block.modernlife.hedge": "树篱",
"item.modernlife.hedge": "树篱",
"block.modernlife.white_ceramic_tile": "白色瓷砖",
"item.modernlife.white_ceramic_tile": "白色瓷砖",
"block.modernlife.brown_ceramic_tile": "棕色瓷砖",
"item.modernlife.brown_ceramic_tile": "棕色瓷砖",
"block.modernlife.beige_ceramic_tile": "米色瓷砖",
"item.modernlife.beige_ceramic_tile": "米色瓷砖",
"block.modernlife.rocky_ceramic_tile": "洛基瓷砖",
"item.modernlife.rocky_ceramic_tile": "洛基瓷砖",
"block.modernlife.white_wallpaper": "白色壁纸",
"item.modernlife.white_wallpaper": "白色壁纸",
"block.modernlife.acacia_deck": "金合欢甲板",
"block.modernlife.birch_deck": "桦木甲板",
"block.modernlife.crimson_deck": "深红甲板",
"block.modernlife.dark_oak_deck": "深色橡木甲板",
"block.modernlife.jungle_deck": "从林木甲板",
"block.modernlife.oak_deck": "橡木甲板",
"block.modernlife.spruce_deck": "云杉木甲板",
"block.modernlife.warped_deck": "诡异木甲板",
"block.modernlife.guitar": "吉他",
"item.modernlife.guitar": "吉他",
"block.modernlife.guitar_amplifier": "吉他放大器",
"item.modernlife.guitar_amplifier": "吉他放大器",
"modernlife.subtitle.note_e_plus_one_octave": "低E弦演奏",
"modernlife.subtitle.note_a_plus_one_octave": "A弦演奏",
"modernlife.subtitle.note_d_plus_one_octave": "D弦演奏",
"modernlife.subtitle.note_g_plus_one_octave": "G弦演奏",
"modernlife.subtitle.note_b_plus_one_octave": "B弦演奏",
"modernlife.subtitle.note_hi_e_plus_one_octave": "高E弦演奏",
"modernlife.subtitle.dist_e_plus_one_octave": "失真的低E弦演奏",
"modernlife.subtitle.dist_a_plus_one_octave": "失真的A弦演奏",
"modernlife.subtitle.dist_d_plus_one_octave": "失真的D弦演奏",
"modernlife.subtitle.dist_g_plus_one_octave": "失真的G弦演奏",
"modernlife.subtitle.dist_b_plus_one_octave": "失真的B弦演奏",
"modernlife.subtitle.dist_hi_e_plus_one_octave": "失真的高E弦演奏",
"block.modernlife.seed_spreader": "播种机",
"item.modernlife.seed_spreader": "播种机",
"block.modernlife.modern_white_door": "白色现代门",
"item.modernlife.modern_white_door": "白色现代门",
"item.modernlife.flashlight": "手电筒",
"block.modernlife.turntable": "转盘",
"item.modernlife.turntable": "转盘",
"item.modernlife.speedometer": "里程计",
"block.modernlife.paved_road": "柏油路",
"block.modernlife.paved_road_ramp": "铺砌的道路坡道",
"item.modernlife.battery": "电池",
"item.modernlife.gas_can": "汽油罐",
"block.modernlife.bathroom_ceramic_tile": "浴室瓷砖",
"item.modernlife.bathroom_ceramic_tile": "浴室瓷砖",
"block.modernlife.trash_can": "垃圾桶",
"item.modernlife.trash_can": "垃圾桶",
"block.modernlife.microwave": "微波炉",
"item.modernlife.microwave": "微波炉",
"block.modernlife.acacia_round_table": "金合欢圆桌会议",
"block.modernlife.birch_round_table": "桦木圆桌会议",
"block.modernlife.crimson_round_table": "绯红木圆桌会议",
"block.modernlife.dark_oak_round_table": "深色橡木圆桌会议",
"block.modernlife.jungle_round_table": "丛林木圆桌会议",
"block.modernlife.oak_round_table": "橡木圆桌会议",
"block.modernlife.spruce_round_table": "云杉木圆桌会议",
"block.modernlife.warped_round_table": "诡异木圆桌会议",
"block.modernlife.acacia_barrier": "金合欢栏栅",
"block.modernlife.birch_barrier": "桦木栏栅",
"block.modernlife.crimson_barrier": "绯红木栏栅",
"block.modernlife.dark_oak_barrier": "深色橡木栏栅",
"block.modernlife.jungle_barrier": "从林木栏栅",
"block.modernlife.oak_barrier": "橡木栏栅",
"block.modernlife.spruce_barrier": "云杉木栏栅",
"block.modernlife.warped_barrier": "诡异木栏栅",
"block.modernlife.cobblestone_barrier": "圆石栏栅",
"block.modernlife.stone_barrier": "圆石栏栅",
"block.modernlife.stone_bricks_barrier": "石砖栏栅",
"block.modernlife.cracked_stone_bricks_barrier": "破裂的石砖栏栅",
"block.modernlife.mossy_stone_bricks_barrier": "苔石砖栏栅",
"block.modernlife.chiseled_stone_bricks_barrier": "凿石砖栏栅",
"block.modernlife.clay_barrier": "粘土栏栅",
"block.modernlife.sand_barrier": "沙子栏栅",
"block.modernlife.red_sand_barrier": "红沙栏栅",
"block.modernlife.smooth_stone_barrier": "平滑石头栏栅",
"block.modernlife.gravel_barrier": "砂砾栏栅",
"block.modernlife.granite_barrier": "花岗岩栏栅",
"block.modernlife.polished_granite_barrier": "磨制花岗岩栏栅",
"block.modernlife.diorite_barrier": "闪长岩栏栅",
"block.modernlife.polished_diorite_barrier": "磨制闪长岩栏栅",
"block.modernlife.obsidian_barrier": "黑曜石栏栅",
"block.modernlife.andesite_barrier": "安山岩栏栅",
"block.modernlife.polished_andesite_barrier": "磨制安山岩栏栅",
"block.modernlife.mossy_cobblestone_barrier": "长满苔藓的圆石栏栅",
"block.modernlife.bricks_barrier": "砖块栏栅",
"block.modernlife.terracotta_barrier": "红陶栏栅",
"block.modernlife.sandstone_barrier": "砂岩栏栅",
"block.modernlife.chiseled_sandstone_barrier": "錾制砂岩栏栅",
"block.modernlife.cut_sandstone_barrier": "切割砂岩栏栅",
"block.modernlife.red_sandstone_barrier": "红砂岩栏栅",
"block.modernlife.chiseled_red_sandstone_barrier": "轮廓分明的红砂岩栏栅",
"block.modernlife.cut_red_sandstone_barrier": "切割红砂岩栏栅",
"block.modernlife.prismarine_barrier": "海晶石栏栅",
"block.modernlife.prismarine_bricks_barrier": "海晶石砖栏栅",
"block.modernlife.dark_prismarine_barrier": "黑海晶石栏栅",
"block.modernlife.blackstone_barrier": "黑石栏栅",
"block.modernlife.polished_blackstone_barrier": "磨制黑石栏栅",
"block.modernlife.polished_blackstone_bricks_barrier": "磨制黑石砖栏栅",
"block.modernlife.chiseled_polished_blackstone_barrier": "錾制磨制黑石栏栅",
"block.modernlife.netherrack_barrier": "下界岩栏栅",
"block.modernlife.nether_bricks_barrier": "下界砖栏栅",
"block.modernlife.chiseled_nether_bricks_barrier": "錾制下界砖栏栅",
"block.modernlife.power_receiver": "能量接收器",
"item.modernlife.power_receiver": "能量接收器",
"block.modernlife.power_transmitter": "能量发射器",
"item.modernlife.power_transmitter": "能量发射器",
"item.modernlife.bicycle_item": "自行车",
"item.modernlife.motorboat_item": "汽艇",
"entity.modernlife.bicycle": "自行车",
"entity.modernlife.motorboat": "汽艇",
"item.modernlife.tire": "车胎",
"block.modernlife.chess_board": "棋盘",
"item.modernlife.chess_board": "棋盘",
"modernlife.subtitle.toilet_flush": "马桶冲水",
"item.modernlife.memory_card": "存储卡",
"item.modernlife.queen": "黑色皇后",
"item.modernlife.king": "黑色国王",
"item.modernlife.knight": "黑色骑士",
"item.modernlife.pawn": "黑色士兵",
"item.modernlife.bishop": "黑色象",
"item.modernlife.rook": "黑色车",
"item.modernlife.queen_w": "白色皇后",
"item.modernlife.king_w": "白色国王",
"item.modernlife.knight_w": "白色骑士",
"item.modernlife.pawn_w": "白色士兵",
"item.modernlife.bishop_w": "白色象",
"item.modernlife.rook_w": "白色车",
"item.modernlife.camera": "相机",
"block.modernlife.stove": "炉灶",
"item.modernlife.stove": "炉灶",
"block.modernlife.glass_trapdoor": "玻璃活板门",
"block.modernlife.glass_acacia_trapdoor": "金合欢活扳门",
"block.modernlife.glass_birch_trapdoor": "桦木活扳门",
"block.modernlife.glass_crimson_trapdoor": "绯红木活扳门",
"block.modernlife.glass_dark_oak_trapdoor": "深色橡木活扳门",
"block.modernlife.glass_iron_trapdoor": "铁活扳门",
"block.modernlife.glass_jungle_trapdoor": "从林木活扳门",
"block.modernlife.glass_oak_trapdoor": "橡木活扳门",
"block.modernlife.glass_spruce_trapdoor": "云杉木活扳门",
"block.modernlife.glass_warped_trapdoor": "诡异木活扳门",
"block.modernlife.acacia_picnic_table": "金合欢野餐桌",
"block.modernlife.birch_picnic_table": "桦木野餐桌",
"block.modernlife.crimson_picnic_table": "绯红木野餐桌",
"block.modernlife.dark_oak_picnic_table": "深色橡木野餐桌",
"block.modernlife.jungle_picnic_table": "从林木野餐桌",
"block.modernlife.oak_picnic_table": "橡木野餐桌",
"block.modernlife.spruce_picnic_table": "云杉木野餐桌",
"block.modernlife.warped_picnic_table": "诡异木野餐桌",
"block.modernlife.deluxe_bed": "豪华床",
"block.modernlife.refrigerator": "冰箱",
"block.modernlife.washing_machine": "垫圈",
"block.modernlife.dryer": "烘干机",
"block.modernlife.printer": "打印机",
"block.modernlife.photocopier": "复印机",
"block.modernlife.acacia_small_table": "金合欢桌",
"block.modernlife.birch_small_table": "桦木桌",
"block.modernlife.crimson_small_table": "绯红木桌",
"block.modernlife.dark_oak_small_table": "深色橡木桌",
"block.modernlife.jungle_small_table": "从林木桌",
"block.modernlife.oak_small_table": "橡木桌",
"block.modernlife.spruce_small_table": "云杉木桌",
"block.modernlife.warped_small_table": "诡异木桌",
"block.modernlife.acacia_coffee_table": "金合欢茶几",
"block.modernlife.birch_coffee_table": "桦木茶几",
"block.modernlife.crimson_coffee_table": "绯红木茶几",
"block.modernlife.dark_oak_coffee_table": "深色橡木茶几",
"block.modernlife.jungle_coffee_table": "从林木茶几",
"block.modernlife.oak_coffee_table": "橡木茶几",
"block.modernlife.spruce_coffee_table": "云杉木茶几",
"block.modernlife.warped_coffee_table": "诡异木茶几",
"block.modernlife.glass_acacia_coffee_table": "玻璃金合欢茶几",
"block.modernlife.glass_birch_coffee_table": "玻璃桦木茶几",
"block.modernlife.glass_crimson_coffee_table": "玻璃绯红木茶几",
"block.modernlife.glass_dark_oak_coffee_table": "玻璃深色橡木茶几",
"block.modernlife.glass_jungle_coffee_table": "玻璃从林木茶几",
"block.modernlife.glass_oak_coffee_table": "玻璃橡木茶几",
"block.modernlife.glass_spruce_coffee_table": "玻璃云杉木茶几",
"block.modernlife.glass_warped_coffee_table": "玻璃诡异木茶几",
"block.modernlife.glass_slab": "玻璃板坯",
"block.modernlife.old_tv": "古董电视",
"block.modernlife.music_stand": "乐谱架",
"block.modernlife.acacia_chair": "金合欢椅",
"block.modernlife.birch_chair": "桦木椅",
"block.modernlife.crimson_chair": "绯红木椅",
"block.modernlife.dark_oak_chair": "深色橡木椅",
"block.modernlife.jungle_chair": "从林木椅",
"block.modernlife.oak_chair": "橡木椅",
"block.modernlife.spruce_chair": "云杉木椅",
"block.modernlife.warped_chair": "诡异木椅",
"block.modernlife.acacia_mini_stool": "金合欢板凳",
"block.modernlife.birch_mini_stool": "桦木板凳",
"block.modernlife.crimson_mini_stool": "绯红木板凳",
"block.modernlife.dark_oak_mini_stool": "深色橡木板凳",
"block.modernlife.jungle_mini_stool": "从林木板凳",
"block.modernlife.oak_mini_stool": "橡木板凳",
"block.modernlife.spruce_mini_stool": "云杉木板凳",
"block.modernlife.warped_mini_stool": "诡异木板凳",
"block.modernlife.inset_light": "嵌入光",
"block.modernlife.floor_mat": "地板垫",
"block.modernlife.coffee_mug": "咖啡杯",
"block.modernlife.flatscreen_tv": "平板电视",
"block.modernlife.monitor": "监视器",
"block.modernlife.dual_monitor": "双显示器",
"item.modernlife.road_marker": "路标",
"block.modernlife.road_marker_white": "白色条纹",
"block.modernlife.road_marker_white_incline": "斜白条纹",
"block.modernlife.road_marker_yellow": "黄色条纹",
"block.modernlife.road_marker_yellow_incline": "倾斜黄色条纹",
"block.modernlife.road_marker_double_yellow": "双黄",
"block.modernlife.road_marker_double_yellow_incline": "斜双黄",
"block.modernlife.road_marker_white_shoulder_left": "左肩",
"block.modernlife.road_marker_white_shoulder_left_incline": "上斜左肩",
"block.modernlife.road_marker_white_shoulder_right": "右肩",
"block.modernlife.road_marker_white_shoulder_right_incline": "上斜右肩",
"block.modernlife.road_marker_white_corner_left": "左角",
"block.modernlife.road_marker_white_corner_left_incline": "上斜左角",
"block.modernlife.road_marker_white_corner_right": "右上角",
"block.modernlife.road_marker_white_corner_right_incline": "倾斜右角",
"block.modernlife.jail_bars": "监狱铁栏",
"block.modernlife.jail_door": "监狱门",
"block.modernlife.ceiling_fan": "吊扇",
"block.modernlife.black_sofa": "黑色沙发",
"block.modernlife.blue_sofa": "蓝色沙发",
"block.modernlife.brown_sofa": "棕色沙发",
"block.modernlife.cyan_sofa": "青色沙发",
"block.modernlife.gray_sofa": "灰色沙发",
"block.modernlife.green_sofa": "绿色沙发",
"block.modernlife.light_blue_sofa": "浅蓝色沙发",
"block.modernlife.light_gray_sofa": "浅灰色沙发",
"block.modernlife.lime_sofa": "石灰沙发",
"block.modernlife.magenta_sofa": "洋红色沙发",
"block.modernlife.orange_sofa": "橙色沙发",
"block.modernlife.pink_sofa": "粉色沙发",
"block.modernlife.purple_sofa": "紫色沙发",
"block.modernlife.red_sofa": "红色沙发",
"block.modernlife.white_sofa": "白色沙发",
"block.modernlife.yellow_sofa": "黄色沙发",
"block.modernlife.lantern_post": "灯笼柱",
"block.modernlife.street_light": "路灯",
"config.modernlife.enableBookshelf": "启用书架",
"config.modernlife.bookshelfWhitelist": "书架白名单",
"config.modernlife.bookshelfBlacklist": "书架黑名单",
"config.modernlife.bookshelfSearchText": "书架搜索文本",
"config.modernlife.bookshelfAvoidText": "书架避免文字",
"config.modernlife.cctvCameraRange": "闭路电视摄像机范围",
"config.modernlife.streetLightMiddlePartCount": "路灯中间件数",
"config.modernlife.mirrorRendersInSpectatorMode": "在旁观者模式下渲染镜子",
"config.modernlife.chainsawSlowsMovementWhenUsed": "电锯使用时会减慢移动速度",
"config.modernlife.emptyCanvasEaselSize": "画架分辨率(像素)",
"config.modernlife.enableCameraViewfinder": "启用相机取景器",
"config.modernlife.extendedEaselColorPicker": "扩展画架颜色选择器",
"config.modernlife.cameraResolution": "相机分辨率",
"config.modernlife.guitarVolumeBoost": "吉他音量提升",
"config.modernlife.maxImageSizePixels": "最大图像尺寸",
"config.modernlife.guitarOnlyPlaysLocally": "吉他只在本地演奏",
"config.modernlife.seedSpreaderThrowCooldown": "播种机投掷冷却",
"config.modernlife.chainsawDurabilityDamageOnAttack": "电锯对攻击的耐久伤害",
"config.modernlife.enableChainsaw": "启用电锯",
"config.modernlife.enableFlashlight": "启用手电筒",
"config.modernlife.enableBicycle": "启用自行车",
"config.modernlife.enableSpeedometer": "启用车速表",
"config.modernlife.enableCamera": "启用相机",
"config.modernlife.enableCanvas": "启用画布",
"config.modernlife.enableEasel": "启用画架",
"config.modernlife.enableGuitar": "启用吉他",
"config.modernlife.enableGuitarAmplifier": "启用吉他放大器",
"config.modernlife.enableChessBoard": "启用棋盘",
"config.modernlife.enablePavedRoad": "启用铺砌道路",
"config.modernlife.enableRoadMarker": "启用道路标记",
"config.modernlife.enableRefrigerator": "启用冰箱",
"config.modernlife.enableTrashCan": "启用垃圾桶",
"config.modernlife.enableSeedSpreader": "启用播种机",
"config.modernlife.enableDeluxeBed": "启用豪华床",
"config.modernlife.enableExtractor": "启用提取器",
"config.modernlife.enableGrate": "启用格栅",
"config.modernlife.enableMicrowave": "启用微波",
"config.modernlife.enableStove": "启用炉子",
"config.modernlife.enableTurntable": "启用转盘",
"config.modernlife.enableToilet": "启用马桶",
"config.modernlife.enableRadiator": "启用散热器",
"config.modernlife.enablePowerTransmitter": "启用电力发射器",
"config.modernlife.enablePowerReceiver": "启用电源接收器",
"config.modernlife.enableMirror": "启用镜像",
"config.modernlife.enableAlarmClock": "启用闹钟",
"config.modernlife.enableCctvCamera": "启用闭路电视摄像机",
"config.modernlife.enableCctvScreen": "启用闭路电视屏幕",
"config.modernlife.enableWallShelf": "启用壁架",
"config.modernlife.enableHandgun": "启用手枪",
"config.modernlife.enableMotorboat": "启用摩托艇",
"config.modernlife.enableCoalBlock": "通过木炭启用煤炭块",
"config.modernlife.disableMirrorRendering": "禁用镜像渲染",
"config.modernlife.disableCCTVRendering": "禁用闭路电视渲染",
"config.modernlife.flashlightFullChargeDuration": "手电筒充满电持续时间",
"config.modernlife.flashlightLightLevel": "手电筒亮度",
"config.modernlife.flashlightRange": "手电筒范围",
"config.modernlife.flashlightUpdatePeriod": "手电筒更新周期",
"config.modernlife.handgunDamage": "手枪底座损坏",
"config.modernlife.handgunCritMultiplier": "手枪暴击倍率",
"config.modernlife.handgunEnableHeadshots": "手枪启用爆头",
"config.modernlife.clock24HoursMode": "24 小时闹钟模式",
"config.modernlife.moonIndicator": "月亮指示器",
"config.modernlife.alarmClockTextColorR": "报警文字颜色(R)",
"config.modernlife.alarmClockTextColorG": "报警文字颜色(G)",
"config.modernlife.alarmClockTextColorB": "报警文字颜色(B)"
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/barrier",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,215 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [64, 64],
"render_type" : "cutout",
"textures": {
"138": "modernlife:block/acacia_chair",
"particle": "modernlife:block/acacia_chair"
},
"elements": [
{
"name": "top",
"from": [2, 7, 2],
"to": [14, 10, 14],
"faces": {
"north": {"uv": [0, 6, 6, 7.5], "texture": "#138"},
"east": {"uv": [6, 7.5, 0, 9], "texture": "#138"},
"south": {"uv": [6, 6, 12, 7.5], "texture": "#138"},
"west": {"uv": [0, 7.5, 6, 9], "texture": "#138"},
"up": {"uv": [6, 6, 0, 0], "texture": "#138"},
"down": {"uv": [12, 0, 6, 6], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [4, 10, 13],
"to": [12, 25, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [-2, 0, 0]},
"faces": {
"north": {"uv": [12, 0, 16, 7.5], "texture": "#138"},
"east": {"uv": [0, 0, 0, 3.75], "texture": "#138"},
"south": {"uv": [12, 0, 16, 7.5], "texture": "#138"},
"west": {"uv": [0, 0, 0, 3.75], "texture": "#138"},
"up": {"uv": [2, 0, 0, 0], "texture": "#138"},
"down": {"uv": [2, 0, 0, 0], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [2, 10, 12],
"to": [4, 24, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
"faces": {
"north": {"uv": [1, 9, 0, 16], "texture": "#138"},
"east": {"uv": [1, 9, 0, 16], "texture": "#138"},
"south": {"uv": [0, 9, 1, 16], "texture": "#138"},
"west": {"uv": [1, 9, 0, 16], "texture": "#138"},
"up": {"uv": [2, 12, 3, 11], "texture": "#138"},
"down": {"uv": [2, 10, 3, 11], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [12, 10, 12],
"to": [14, 24, 14],
"faces": {
"north": {"uv": [0, 9, 1, 16], "texture": "#138"},
"east": {"uv": [0, 9, 1, 16], "texture": "#138"},
"south": {"uv": [1, 9, 0, 16], "texture": "#138"},
"west": {"uv": [0, 9, 1, 16], "texture": "#138"},
"up": {"uv": [3, 12, 2, 11], "texture": "#138"},
"down": {"uv": [3, 10, 2, 11], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [4, 2, 3],
"to": [12, 4, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [2, 9, 6, 10], "texture": "#138"},
"east": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"south": {"uv": [2, 9, 6, 10], "texture": "#138"},
"west": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "rotation": 270, "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#138"}
}
},
{
"name": "back_support",
"from": [4, 2, 13],
"to": [12, 4, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [6, 9, 2, 10], "texture": "#138"},
"east": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"south": {"uv": [6, 9, 2, 10], "texture": "#138"},
"west": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "rotation": 270, "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#138"}
}
},
{
"name": "back_support",
"from": [13, 2, 4],
"to": [13, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"east": {"uv": [2, 9, 6, 10], "texture": "#138"},
"south": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"west": {"uv": [2, 9, 6, 10], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [3, 2, 4],
"to": [3, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"east": {"uv": [6, 9, 2, 10], "texture": "#138"},
"south": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"west": {"uv": [6, 9, 2, 10], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [12, 0, 2],
"to": [14, 7, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -10]},
"faces": {
"north": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"east": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"south": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"west": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"up": {"uv": [3, 11, 2, 10], "texture": "#138"},
"down": {"uv": [3, 10, 2, 11], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [2, 0, 2],
"to": [4, 7, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -10]},
"faces": {
"north": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"east": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"south": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"west": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"up": {"uv": [2, 11, 3, 10], "texture": "#138"},
"down": {"uv": [2, 10, 3, 11], "texture": "#138"}
}
},
{
"name": "front_support",
"from": [2, 0, 12],
"to": [4, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 26]},
"faces": {
"north": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"east": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"south": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"west": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"up": {"uv": [2, 10, 3, 11], "texture": "#138"},
"down": {"uv": [2, 11, 3, 10], "texture": "#138"}
}
},
{
"name": "front_support",
"from": [12, 0, 12],
"to": [14, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 26]},
"faces": {
"north": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"east": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"south": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"west": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"up": {"uv": [3, 10, 2, 11], "texture": "#138"},
"down": {"uv": [3, 11, 2, 10], "texture": "#138"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 10, 0],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 10, 0],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -135, 0],
"translation": [0, -1.75, 0],
"scale": [0.5, 0.5, 0.5]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 90, 0],
"translation": [0, -0.25, -2.75],
"scale": [0.5, 0.5, 0.5]
}
}
}

View File

@ -1,8 +0,0 @@
{
"parent": "modernlife:block/coffee_table",
"textures": {
"0": "block/acacia_planks",
"1": "block/acacia_log",
"particle": "block/acacia_log"
}
}

View File

@ -1,8 +0,0 @@
{
"parent": "modernlife:block/coffee_table_corner",
"textures": {
"0": "block/acacia_planks",
"1": "block/acacia_log",
"particle": "block/acacia_log"
}
}

View File

@ -1,8 +0,0 @@
{
"parent": "modernlife:block/coffee_table_end",
"textures": {
"0": "block/acacia_planks",
"1": "block/acacia_log",
"particle": "block/acacia_log"
}
}

View File

@ -1,8 +0,0 @@
{
"parent": "modernlife:block/coffee_table_mid",
"textures": {
"0": "block/acacia_planks",
"1": "block/acacia_log",
"particle": "block/acacia_log"
}
}

View File

@ -1,123 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"118": "modernlife:block/acacia_planks_deck",
"particle": "modernlife:block/acacia_planks_deck"
},
"elements": [
{
"from": [3, 13, 0],
"to": [6, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-9.5, -0.5, 0]},
"faces": {
"north": {"uv": [10, 2, 13, 4], "texture": "#118"},
"east": {"uv": [0, 1, 16, 3], "texture": "#118"},
"south": {"uv": [13, 1, 16, 3], "texture": "#118"},
"west": {"uv": [0, 1, 16, 3], "texture": "#118"},
"up": {"uv": [16, 0, 0, 3], "rotation": 90, "texture": "#118"},
"down": {"uv": [0, 3, 16, 6], "rotation": 90, "texture": "#118"}
}
},
{
"from": [10, 13, 0],
"to": [13, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-2.5, -0.5, 0]},
"faces": {
"north": {"uv": [3, 2, 6, 4], "texture": "#118"},
"east": {"uv": [0, 1, 16, 3], "texture": "#118"},
"south": {"uv": [13, 1, 16, 3], "texture": "#118"},
"west": {"uv": [0, 1, 16, 3], "texture": "#118"},
"up": {"uv": [16, 0, 0, 3], "rotation": 90, "texture": "#118"},
"down": {"uv": [0, 3, 16, 6], "rotation": 90, "texture": "#118"}
}
},
{
"from": [0, 14, 0],
"to": [16, 16, 3],
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#118"},
"east": {"uv": [13, 1, 16, 3], "texture": "#118"},
"south": {"uv": [0, 1, 16, 3], "texture": "#118"},
"west": {"uv": [13, 1, 16, 3], "texture": "#118"},
"up": {"uv": [0, 0, 16, 3], "texture": "#118"},
"down": {"uv": [0, 3, 16, 6], "texture": "#118"}
}
},
{
"from": [0, 14, 4],
"to": [16, 16, 7],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 4]},
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#118"},
"east": {"uv": [13, 1, 16, 3], "texture": "#118"},
"south": {"uv": [0, 1, 16, 3], "texture": "#118"},
"west": {"uv": [13, 1, 16, 3], "texture": "#118"},
"up": {"uv": [0, 0, 16, 3], "texture": "#118"},
"down": {"uv": [0, 3, 16, 6], "texture": "#118"}
}
},
{
"from": [0, 14, 12],
"to": [16, 16, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 12]},
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#118"},
"east": {"uv": [13, 1, 16, 3], "texture": "#118"},
"south": {"uv": [0, 1, 16, 3], "texture": "#118"},
"west": {"uv": [13, 1, 16, 3], "texture": "#118"},
"up": {"uv": [0, 0, 16, 3], "texture": "#118"},
"down": {"uv": [0, 3, 16, 6], "texture": "#118"}
}
},
{
"from": [0, 14, 8],
"to": [16, 16, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]},
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#118"},
"east": {"uv": [13, 1, 16, 3], "texture": "#118"},
"south": {"uv": [0, 1, 16, 3], "texture": "#118"},
"west": {"uv": [13, 1, 16, 3], "texture": "#118"},
"up": {"uv": [0, 0, 16, 3], "texture": "#118"},
"down": {"uv": [0, 3, 16, 6], "texture": "#118"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, -3.5, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, -3.5, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 63],
"translation": [-0.5, -0.75, 5.25],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 63],
"translation": [-0.5, -0.75, 5.25],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0.25, -5.25, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [-90, 0, 0],
"translation": [0, 0, 6]
}
}
}

View File

@ -1,136 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"1": "block/acacia_planks",
"4": "modernlife:block/acacia_planks_deck",
"particle": "block/acacia_planks"
},
"elements": [
{
"from": [3, 13, 0],
"to": [6, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-9.5, -0.5, 0]},
"faces": {
"north": {"uv": [10, 2, 13, 4], "texture": "#4"},
"east": {"uv": [0, 1, 16, 3], "texture": "#4"},
"south": {"uv": [13, 1, 16, 3], "texture": "#4"},
"west": {"uv": [0, 1, 16, 3], "texture": "#4"},
"up": {"uv": [16, 0, 0, 3], "rotation": 90, "texture": "#4"},
"down": {"uv": [0, 3, 16, 6], "rotation": 90, "texture": "#4"}
}
},
{
"from": [0, 14, 0],
"to": [16, 16, 3],
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#4"},
"east": {"uv": [13, 1, 16, 3], "texture": "#4"},
"south": {"uv": [0, 1, 16, 3], "texture": "#4"},
"west": {"uv": [13, 1, 16, 3], "texture": "#4"},
"up": {"uv": [0, 0, 16, 3], "texture": "#4"},
"down": {"uv": [0, 3, 16, 6], "texture": "#4"}
}
},
{
"from": [0, 14, 4],
"to": [16, 16, 7],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 4]},
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#4"},
"east": {"uv": [13, 1, 16, 3], "texture": "#4"},
"south": {"uv": [0, 1, 16, 3], "texture": "#4"},
"west": {"uv": [13, 1, 16, 3], "texture": "#4"},
"up": {"uv": [0, 0, 16, 3], "texture": "#4"},
"down": {"uv": [0, 3, 16, 6], "texture": "#4"}
}
},
{
"from": [0, 14, 12],
"to": [16, 16, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 12]},
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#4"},
"east": {"uv": [13, 1, 16, 3], "texture": "#4"},
"south": {"uv": [0, 1, 16, 3], "texture": "#4"},
"west": {"uv": [13, 1, 16, 3], "texture": "#4"},
"up": {"uv": [0, 0, 16, 3], "texture": "#4"},
"down": {"uv": [0, 3, 16, 6], "texture": "#4"}
}
},
{
"from": [0, 14, 8],
"to": [16, 16, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 8]},
"faces": {
"north": {"uv": [0, 1, 16, 3], "texture": "#4"},
"east": {"uv": [13, 1, 16, 3], "texture": "#4"},
"south": {"uv": [0, 1, 16, 3], "texture": "#4"},
"west": {"uv": [13, 1, 16, 3], "texture": "#4"},
"up": {"uv": [0, 0, 16, 3], "texture": "#4"},
"down": {"uv": [0, 3, 16, 6], "texture": "#4"}
}
},
{
"from": [10, 13, 0],
"to": [13, 15, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-2.5, -0.5, 0]},
"faces": {
"north": {"uv": [3, 2, 6, 4], "texture": "#4"},
"east": {"uv": [0, 1, 16, 3], "texture": "#4"},
"south": {"uv": [13, 1, 16, 3], "texture": "#4"},
"west": {"uv": [0, 1, 16, 3], "texture": "#4"},
"up": {"uv": [16, 0, 0, 3], "rotation": 90, "texture": "#4"},
"down": {"uv": [0, 3, 16, 6], "rotation": 90, "texture": "#4"}
}
},
{
"name": "support",
"from": [6, 0, 6],
"to": [10, 14, 10],
"rotation": {"angle": 0, "axis": "y", "origin": [7.5, 0, 0.5]},
"faces": {
"north": {"uv": [6, 1.5, 10, 16], "texture": "#1"},
"east": {"uv": [6, 1.5, 10, 16], "texture": "#1"},
"south": {"uv": [6, 1.5, 10, 16], "texture": "#1"},
"west": {"uv": [6, 1.5, 10, 16], "texture": "#1"},
"up": {"uv": [0, 0, 4, 4], "texture": "#1"},
"down": {"uv": [0, 0, 4, 4], "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 30, 0],
"scale": [0.5, 0.5, 0.5]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/door_bottom",
"textures": {
"top": "modernlife:block/acacia_glass_door_top",
"bottom": "modernlife:block/acacia_glass_door_bottom"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/door_bottom_rh",
"textures": {
"top": "modernlife:block/acacia_glass_door_top",
"bottom": "modernlife:block/acacia_glass_door_bottom"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/door_top",
"textures": {
"top": "modernlife:block/acacia_glass_door_top",
"bottom": "modernlife:block/acacia_glass_door_bottom"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/door_top_rh",
"textures": {
"top": "modernlife:block/acacia_glass_door_top",
"bottom": "modernlife:block/acacia_glass_door_bottom"
}
}

View File

@ -1,144 +0,0 @@
{
"credit": "Made with Blockbench",
"ambientocclusion": false,
"texture_size": [64, 64],
"textures": {
"64": "modernlife:block/acacia_kitchen_cabinet"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 15],
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [5.33333, 10.33333, 0, 5.33333], "texture": "#64"},
"down": {"uv": [10.66667, 5.33333, 5.33333, 10.33333], "texture": "#64"}
}
},
{
"from": [6, 4, 16],
"to": [7, 8, 17],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 4, 16]},
"faces": {
"north": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"east": {"uv": [10.66667, 0, 10.33333, 1.33333], "texture": "#64"},
"south": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"west": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"up": {"uv": [10.66667, 0, 10.33333, 0.33333], "texture": "#64"},
"down": {"uv": [10.66667, 1, 10.33333, 1.33333], "texture": "#64"}
}
},
{
"from": [6, 8, 15],
"to": [7, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 4, 15]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [10.66667, 1.33333, 10.33333, 1], "texture": "#64"},
"down": {"uv": [10.66667, 1, 10.33333, 1.33333], "texture": "#64"}
}
},
{
"from": [6, 4, 15],
"to": [7, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 4, 16]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [10.66667, 1.66667, 10.33333, 1.33333], "texture": "#64"},
"down": {"uv": [10.33333, 1.33333, 10.66667, 1.66667], "texture": "#64"}
}
},
{
"from": [9, 4, 15],
"to": [10, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 16]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [10.66667, 1.66667, 10.33333, 1.33333], "texture": "#64"},
"down": {"uv": [10.33333, 1.33333, 10.66667, 1.66667], "texture": "#64"}
}
},
{
"from": [9, 4, 16],
"to": [10, 8, 17],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 16]},
"faces": {
"north": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"east": {"uv": [10.66667, 0, 10.33333, 1.33333], "texture": "#64"},
"south": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"west": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"up": {"uv": [10.66667, 0, 10.33333, 0.33333], "texture": "#64"},
"down": {"uv": [10.66667, 1, 10.33333, 1.33333], "texture": "#64"}
}
},
{
"from": [9, 8, 15],
"to": [10, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [9, 4, 15]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [10.66667, 1.33333, 10.33333, 1], "texture": "#64"},
"down": {"uv": [10.66667, 1, 10.33333, 1.33333], "texture": "#64"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0.25, 0, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
},
"groups": [
{
"name": "VoxelShapes",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3, 4, 5, 6]
}
]
}

View File

@ -1,144 +0,0 @@
{
"credit": "Made with Blockbench",
"ambientocclusion": false,
"texture_size": [64, 64],
"textures": {
"64": "modernlife:block/acacia_kitchen_drawer_cabinet"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 15],
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [5.33333, 10.33333, 0, 5.33333], "texture": "#64"},
"down": {"uv": [10.66667, 5.33333, 5.33333, 10.33333], "texture": "#64"}
}
},
{
"from": [6, 12, 16],
"to": [10, 13, 17],
"rotation": {"angle": 0, "axis": "z", "origin": [6, 13, 16]},
"faces": {
"north": {"uv": [10.33333, 0, 10.66667, 1.33333], "rotation": 270, "texture": "#64"},
"east": {"uv": [10.66667, 0, 10.33333, 0.33333], "rotation": 90, "texture": "#64"},
"south": {"uv": [10.33333, 0, 10.66667, 1.33333], "rotation": 90, "texture": "#64"},
"west": {"uv": [10.66667, 1, 10.33333, 1.33333], "rotation": 90, "texture": "#64"},
"up": {"uv": [10.33333, 0, 10.66667, 1.33333], "rotation": 90, "texture": "#64"},
"down": {"uv": [10.66667, 0, 10.33333, 1.33333], "rotation": 90, "texture": "#64"}
}
},
{
"from": [10, 12, 15],
"to": [10, 13, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [6, 13, 15]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "rotation": 270, "texture": "#64"},
"east": {"uv": [10.66667, 1.33333, 10.33333, 1], "rotation": 90, "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "rotation": 90, "texture": "#64"},
"west": {"uv": [10.66667, 1, 10.33333, 1.33333], "rotation": 90, "texture": "#64"},
"up": {"uv": [5.33333, 0, 10.33333, 5.33333], "rotation": 90, "texture": "#64"},
"down": {"uv": [10.33333, 0, 5.33333, 5.33333], "rotation": 90, "texture": "#64"}
}
},
{
"from": [6, 12, 15],
"to": [6, 13, 16],
"rotation": {"angle": 0, "axis": "z", "origin": [6, 13, 16]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "rotation": 270, "texture": "#64"},
"east": {"uv": [10.66667, 1.66667, 10.33333, 1.33333], "rotation": 90, "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "rotation": 90, "texture": "#64"},
"west": {"uv": [10.33333, 1.33333, 10.66667, 1.66667], "rotation": 90, "texture": "#64"},
"up": {"uv": [5.33333, 0, 10.33333, 5.33333], "rotation": 90, "texture": "#64"},
"down": {"uv": [10.33333, 0, 5.33333, 5.33333], "rotation": 90, "texture": "#64"}
}
},
{
"from": [12, 4, 15],
"to": [13, 4, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 4, 16]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [10.66667, 1.66667, 10.33333, 1.33333], "texture": "#64"},
"down": {"uv": [10.33333, 1.33333, 10.66667, 1.66667], "texture": "#64"}
}
},
{
"from": [12, 4, 16],
"to": [13, 8, 17],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 4, 16]},
"faces": {
"north": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"east": {"uv": [10.66667, 0, 10.33333, 1.33333], "texture": "#64"},
"south": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"west": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"up": {"uv": [10.66667, 0, 10.33333, 0.33333], "texture": "#64"},
"down": {"uv": [10.66667, 1, 10.33333, 1.33333], "texture": "#64"}
}
},
{
"from": [12, 8, 15],
"to": [13, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 4, 15]},
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [10.66667, 1.33333, 10.33333, 1], "texture": "#64"},
"down": {"uv": [10.66667, 1, 10.33333, 1.33333], "texture": "#64"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0.25, 0, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
},
"groups": [
{
"name": "VoxelShapes",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3, 4, 5, 6]
}
]
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp",
"textures": {
"1": "block/acacia_log",
"particle": "block/acacia_log"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp_corner",
"textures": {
"1": "block/acacia_log",
"particle": "block/acacia_log"
}
}

View File

@ -1,179 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"141": "modernlife:block/acacia_mini_stool"
},
"elements": [
{
"name": "top",
"from": [2, 6, 2],
"to": [14, 9, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
"faces": {
"north": {"uv": [0, 6, 6, 7.5], "texture": "#141"},
"east": {"uv": [0, 6, 6, 7.5], "texture": "#141"},
"south": {"uv": [0, 6, 6, 7.5], "texture": "#141"},
"west": {"uv": [0, 6, 6, 7.5], "texture": "#141"},
"up": {"uv": [6, 6, 0, 0], "texture": "#141"},
"down": {"uv": [12, 0, 6, 6], "texture": "#141"}
}
},
{
"from": [6, 2, 4],
"to": [10, 4, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0.5, 0, 0.5]},
"faces": {
"north": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"east": {"uv": [0, 0, 0, 3], "texture": "#141"},
"south": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"west": {"uv": [0, 0, 0, 3], "texture": "#141"},
"up": {"uv": [2.5, 0, 0, 0], "texture": "#141"},
"down": {"uv": [2.5, 0, 0, 0], "texture": "#141"}
}
},
{
"from": [6, 2, 12],
"to": [10, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [15.5, 0, 15.5]},
"faces": {
"north": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"east": {"uv": [0, 0, 0, 3], "texture": "#141"},
"south": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"west": {"uv": [0, 0, 0, 3], "texture": "#141"},
"up": {"uv": [0, 0, 2.5, 0], "texture": "#141"},
"down": {"uv": [0, 0, 2.5, 0], "texture": "#141"}
}
},
{
"from": [4, 2, 6],
"to": [4, 4, 10],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#141"},
"east": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"south": {"uv": [0, 0, 0, 3], "texture": "#141"},
"west": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"up": {"uv": [2.5, 0, 0, 0], "rotation": 270, "texture": "#141"},
"down": {"uv": [2.5, 0, 0, 0], "rotation": 90, "texture": "#141"}
}
},
{
"from": [12, 2, 6],
"to": [12, 4, 10],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 3], "texture": "#141"},
"east": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"south": {"uv": [0, 0, 0, 3], "texture": "#141"},
"west": {"uv": [3, 7.5, 5, 8.5], "texture": "#141"},
"up": {"uv": [0, 0, 2.5, 0], "rotation": 270, "texture": "#141"},
"down": {"uv": [0, 0, 2.5, 0], "rotation": 90, "texture": "#141"}
}
},
{
"from": [3, 0, 3],
"to": [6, 6, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [22.5, 7.75, 8.5]},
"faces": {
"north": {"uv": [1.5, 7.5, 0, 10.5], "texture": "#141"},
"east": {"uv": [1.5, 7.5, 3, 10.5], "texture": "#141"},
"south": {"uv": [1.5, 7.5, 3, 10.5], "texture": "#141"},
"west": {"uv": [0, 7.5, 1.5, 10.5], "texture": "#141"},
"up": {"uv": [1.5, 12, 0, 10.5], "texture": "#141"},
"down": {"uv": [1.5, 10.5, 0, 12], "texture": "#141"}
}
},
{
"from": [10, 0, 3],
"to": [13, 6, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [-6.5, 7.75, 8.5]},
"faces": {
"north": {"uv": [0, 7.5, 1.5, 10.5], "texture": "#141"},
"east": {"uv": [1.5, 7.5, 0, 10.5], "texture": "#141"},
"south": {"uv": [3, 7.5, 1.5, 10.5], "texture": "#141"},
"west": {"uv": [3, 7.5, 1.5, 10.5], "texture": "#141"},
"up": {"uv": [0, 12, 1.5, 10.5], "texture": "#141"},
"down": {"uv": [0, 10.5, 1.5, 12], "texture": "#141"}
}
},
{
"from": [3, 0, 10],
"to": [6, 6, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [22.5, 7.75, 7.5]},
"faces": {
"north": {"uv": [3, 7.5, 1.5, 10.5], "texture": "#141"},
"east": {"uv": [3, 7.5, 1.5, 10.5], "texture": "#141"},
"south": {"uv": [0, 7.5, 1.5, 10.5], "texture": "#141"},
"west": {"uv": [1.5, 7.5, 0, 10.5], "texture": "#141"},
"up": {"uv": [1.5, 10.5, 0, 12], "texture": "#141"},
"down": {"uv": [1.5, 12, 0, 10.5], "texture": "#141"}
}
},
{
"from": [10, 0, 10],
"to": [13, 6, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [-6.5, 7.75, 7.5]},
"faces": {
"north": {"uv": [1.5, 7.5, 3, 10.5], "texture": "#141"},
"east": {"uv": [0, 7.5, 1.5, 10.5], "texture": "#141"},
"south": {"uv": [1.5, 7.5, 0, 10.5], "texture": "#141"},
"west": {"uv": [1.5, 7.5, 3, 10.5], "texture": "#141"},
"up": {"uv": [0, 10.5, 1.5, 12], "texture": "#141"},
"down": {"uv": [0, 12, 1.5, 10.5], "texture": "#141"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -45, 0],
"translation": [0, 1.75, 0],
"scale": [0.75, 0.75, 0.75]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [0, 3, 0]
}
},
"groups": [
0,
{
"name": "supports",
"origin": [0, 0, 0],
"color": 0,
"children": [1, 2, 3, 4]
},
{
"name": "legs",
"origin": [2, 7.72417, 8],
"color": 0,
"children": [5, 6, 7, 8]
}
]
}

View File

@ -1,218 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [64, 64],
"textures": {
"107": "modernlife:block/acacia_night_stand"
},
"elements": [
{
"name": "body",
"from": [0, 1, 0],
"to": [16, 16, 14],
"faces": {
"north": {"uv": [10, 0, 15.33333, 5], "texture": "#107"},
"east": {"uv": [5.33333, 0, 10, 5], "texture": "#107"},
"south": {"uv": [0, 0, 5.33333, 5], "texture": "#107"},
"west": {"uv": [10, 0, 5.33333, 5], "texture": "#107"},
"up": {"uv": [5.33333, 9.66667, 0, 5], "texture": "#107"},
"down": {"uv": [10.66667, 5, 5.33333, 9.66667], "texture": "#107"}
}
},
{
"name": "sw_leg",
"from": [0, 0, 12],
"to": [2, 1, 14],
"faces": {
"north": {"uv": [16, 0.33333, 15.33333, 0.66667], "texture": "#107"},
"east": {"uv": [15.33333, 0.33333, 16, 0.66667], "texture": "#107"},
"south": {"uv": [15.33333, 0, 16, 0.33333], "texture": "#107"},
"west": {"uv": [16, 0, 15.33333, 0.33333], "texture": "#107"},
"up": {"uv": [15.33333, 0.66667, 16, 0], "texture": "#107"},
"down": {"uv": [15.33333, 0, 16, 0.66667], "texture": "#107"}
}
},
{
"name": "sw_leg",
"from": [14, 0, 12],
"to": [16, 1, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
"faces": {
"north": {"uv": [15.33333, 0.33333, 16, 0.66667], "texture": "#107"},
"east": {"uv": [15.33333, 0, 16, 0.33333], "texture": "#107"},
"south": {"uv": [16, 0, 15.33333, 0.33333], "texture": "#107"},
"west": {"uv": [16, 0.33333, 15.33333, 0.66667], "texture": "#107"},
"up": {"uv": [16, 0.66667, 15.33333, 0], "texture": "#107"},
"down": {"uv": [16, 0, 15.33333, 0.66667], "texture": "#107"}
}
},
{
"name": "sw_leg",
"from": [0, 0, 0],
"to": [2, 1, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -12]},
"faces": {
"north": {"uv": [16, 0.33333, 15.33333, 0.66667], "texture": "#107"},
"east": {"uv": [15.33333, 0.33333, 16, 0.66667], "texture": "#107"},
"south": {"uv": [15.33333, 0, 16, 0.33333], "texture": "#107"},
"west": {"uv": [16, 0, 15.33333, 0.33333], "texture": "#107"},
"up": {"uv": [15.33333, 0.66667, 16, 0], "texture": "#107"},
"down": {"uv": [15.33333, 0, 16, 0.66667], "texture": "#107"}
}
},
{
"name": "sw_leg",
"from": [14, 0, 0],
"to": [16, 1, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -12]},
"faces": {
"north": {"uv": [15.33333, 0.33333, 16, 0.66667], "texture": "#107"},
"east": {"uv": [15.33333, 0, 16, 0.33333], "texture": "#107"},
"south": {"uv": [16, 0, 15.33333, 0.33333], "texture": "#107"},
"west": {"uv": [16, 0.33333, 15.33333, 0.66667], "texture": "#107"},
"up": {"uv": [16, 0.66667, 15.33333, 0], "texture": "#107"},
"down": {"uv": [16, 0, 15.33333, 0.66667], "texture": "#107"}
}
},
{
"name": "upper_handle_mid",
"from": [4.999, 6, 15],
"to": [10.999, 7, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-0.001, -5.6, 0]},
"faces": {
"north": {"uv": [15.33333, 0.66667, 15.66667, 2.66667], "rotation": 90, "texture": "#107"},
"east": {"uv": [15.33333, 2.33333, 15.66667, 2.66667], "texture": "#107"},
"south": {"uv": [15.66667, 0.66667, 15.33333, 2.66667], "rotation": 270, "texture": "#107"},
"west": {"uv": [15.33333, 0.66667, 15.66667, 1], "texture": "#107"},
"up": {"uv": [15.33333, 0.66667, 15.66667, 2.66667], "rotation": 270, "texture": "#107"},
"down": {"uv": [15.33333, 0.66667, 15.66667, 2.66667], "rotation": 270, "texture": "#107"}
}
},
{
"name": "upper_handle_left",
"from": [4.999, 6, 14],
"to": [4.999, 7, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [-0.001, -5.6, 0]},
"faces": {
"north": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"east": {"uv": [15.33333, 3, 15.66667, 2.66667], "texture": "#107"},
"south": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"west": {"uv": [15.33333, 2.66667, 15.66667, 3], "texture": "#107"},
"up": {"uv": [0, 0.25, 0, 0], "texture": "#107"},
"down": {"uv": [0, 0, 0, 0.25], "texture": "#107"}
}
},
{
"name": "upper_handle_left",
"from": [10.999, 6, 14],
"to": [10.999, 7, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [5.999, -5.6, 0]},
"faces": {
"north": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"east": {"uv": [15.33333, 3, 15.66667, 2.66667], "texture": "#107"},
"south": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"west": {"uv": [15.33333, 2.66667, 15.66667, 3], "texture": "#107"},
"up": {"uv": [0, 0.25, 0, 0], "texture": "#107"},
"down": {"uv": [0, 0, 0, 0.25], "texture": "#107"}
}
},
{
"name": "upper_handle_left",
"from": [4.999, 12, 14],
"to": [4.999, 13, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [-0.001, 0.4, 0]},
"faces": {
"north": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"east": {"uv": [15.33333, 3, 15.66667, 2.66667], "texture": "#107"},
"south": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"west": {"uv": [15.33333, 2.66667, 15.66667, 3], "texture": "#107"},
"up": {"uv": [0, 0.25, 0, 0], "texture": "#107"},
"down": {"uv": [0, 0, 0, 0.25], "texture": "#107"}
}
},
{
"name": "upper_handle_left",
"from": [10.999, 12, 14],
"to": [10.999, 13, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [5.999, 0.4, 0]},
"faces": {
"north": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"east": {"uv": [15.33333, 3, 15.66667, 2.66667], "texture": "#107"},
"south": {"uv": [0, 0, 0, 0.25], "texture": "#107"},
"west": {"uv": [15.33333, 2.66667, 15.66667, 3], "texture": "#107"},
"up": {"uv": [0, 0.25, 0, 0], "texture": "#107"},
"down": {"uv": [0, 0, 0, 0.25], "texture": "#107"}
}
},
{
"name": "upper_handle_mid",
"from": [4.999, 12, 15],
"to": [10.999, 13, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-0.001, 0.4, 0]},
"faces": {
"north": {"uv": [15.33333, 0.66667, 15.66667, 2.66667], "rotation": 90, "texture": "#107"},
"east": {"uv": [15.33333, 2.33333, 15.66667, 2.66667], "texture": "#107"},
"south": {"uv": [15.66667, 0.66667, 15.33333, 2.66667], "rotation": 270, "texture": "#107"},
"west": {"uv": [15.33333, 0.66667, 15.66667, 1], "texture": "#107"},
"up": {"uv": [15.33333, 0.66667, 15.66667, 2.66667], "rotation": 270, "texture": "#107"},
"down": {"uv": [15.33333, 0.66667, 15.66667, 2.66667], "rotation": 270, "texture": "#107"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0.5, -0.25, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
},
"groups": [
0,
{
"name": "legs",
"origin": [0, 0, 0],
"color": 0,
"children": [1, 2, 3, 4]
},
{
"name": "lower_handle",
"origin": [0, 0, 0],
"color": 0,
"children": [5, 6, 7]
},
{
"name": "upper_handle",
"origin": [0, 0, 0],
"color": 0,
"children": [8, 9, 10]
}
]
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/picnic_table",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/picnic_table_front",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/picnic_table_full",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/barrier",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp",
"textures": {
"1": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp",
"textures": {
"1": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp_corner",
"textures": {
"1": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,188 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [64, 64],
"textures": {
"3": "modernlife:block/acacia_round_table"
},
"elements": [
{
"from": [0, 15, 14],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
"faces": {
"north": {"uv": [0, 0.66667, 10.66667, 1.33333], "texture": "#3"},
"east": {"uv": [9.33333, 0, 10.66667, 0.66667], "texture": "#3"},
"south": {"uv": [0, 0, 10.66667, 0.66667], "texture": "#3"},
"west": {"uv": [9.33333, 0, 10.66667, 0.66667], "texture": "#3"},
"up": {"uv": [10.66667, 1.33333, 0, 0], "texture": "#3"},
"down": {"uv": [0, 1.33333, 10.66667, 0], "rotation": 180, "texture": "#3"}
}
},
{
"from": [0, 15, 0],
"to": [16, 16, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 16]},
"faces": {
"north": {"uv": [10.66667, 0, 0, 0.66667], "texture": "#3"},
"east": {"uv": [10.66667, 0, 9.33333, 0.66667], "texture": "#3"},
"south": {"uv": [10.66667, 0.66667, 0, 1.33333], "texture": "#3"},
"west": {"uv": [10.66667, 0, 9.33333, 0.66667], "texture": "#3"},
"up": {"uv": [10.66667, 0, 0, 1.33333], "texture": "#3"},
"down": {"uv": [0, 0, 10.66667, 1.33333], "rotation": 180, "texture": "#3"}
}
},
{
"from": [0, 15, 2],
"to": [2, 16, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15.5, 8]},
"faces": {
"north": {"uv": [9.33333, 0, 10.66667, 0.66667], "texture": "#3"},
"east": {"uv": [1.33333, 0.66667, 9.33333, 1.33333], "texture": "#3"},
"south": {"uv": [9.33333, 0, 10.66667, 0.66667], "texture": "#3"},
"west": {"uv": [1.33333, 0, 9.33333, 0.66667], "texture": "#3"},
"up": {"uv": [9.33333, 1.33333, 1.33333, 0], "rotation": 90, "texture": "#3"},
"down": {"uv": [1.33333, 1.33333, 9.33333, 0], "rotation": 90, "texture": "#3"}
}
},
{
"from": [14, 15, 2],
"to": [16, 16, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 15.5, 8]},
"faces": {
"north": {"uv": [10.66667, 0, 9.33333, 0.66667], "texture": "#3"},
"east": {"uv": [9.33333, 0, 1.33333, 0.66667], "texture": "#3"},
"south": {"uv": [10.66667, 0, 9.33333, 0.66667], "texture": "#3"},
"west": {"uv": [9.33333, 0.66667, 1.33333, 1.33333], "texture": "#3"},
"up": {"uv": [9.33333, 0, 1.33333, 1.33333], "rotation": 90, "texture": "#3"},
"down": {"uv": [1.33333, 0, 9.33333, 1.33333], "rotation": 90, "texture": "#3"}
}
},
{
"from": [2, 15, 2],
"to": [14, 16, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 18]},
"faces": {
"north": {"uv": [16, 15.33333, 5.33333, 16], "texture": "#3"},
"east": {"uv": [16, 15.33333, 14.66667, 16], "texture": "#3"},
"south": {"uv": [16, 15.33333, 5.33333, 16], "texture": "#3"},
"west": {"uv": [16, 15.33333, 14.66667, 16], "texture": "#3"},
"up": {"uv": [9.33333, 1.33333, 1.33333, 9.33333], "texture": "#3"},
"down": {"uv": [1.33333, 1.33333, 9.33333, 9.33333], "rotation": 180, "texture": "#3"}
}
},
{
"from": [3, 0, 14],
"to": [5, 15, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, 13]},
"faces": {
"north": {"uv": [12, 0, 10.66667, 10], "texture": "#3"},
"east": {"uv": [11.33333, 0, 12, 10], "texture": "#3"},
"south": {"uv": [10.66667, 0, 12, 10], "texture": "#3"},
"west": {"uv": [10.66667, 0, 11.33333, 10], "texture": "#3"},
"up": {"uv": [10.66667, 0.66667, 12, 0], "texture": "#3"},
"down": {"uv": [10.66667, 9.35, 12, 10], "texture": "#3"}
}
},
{
"from": [5, 0, 14],
"to": [11, 15, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [-6, 0, 13]},
"faces": {
"north": {"uv": [16, 0, 12, 10], "texture": "#3"},
"east": {"uv": [0, 0, 0, 3.75], "texture": "#3"},
"south": {"uv": [12, 0, 16, 10], "texture": "#3"},
"west": {"uv": [0, 0, 0, 3.75], "texture": "#3"},
"up": {"uv": [1.5, 0, 0, 0], "texture": "#3"},
"down": {"uv": [1.5, 0, 0, 0], "texture": "#3"}
}
},
{
"from": [11, 0, 14],
"to": [13, 15, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [24, 0, 13]},
"faces": {
"north": {"uv": [10.66667, 0, 12, 10], "texture": "#3"},
"east": {"uv": [11.33333, 0, 10.66667, 10], "texture": "#3"},
"south": {"uv": [12, 0, 10.66667, 10], "texture": "#3"},
"west": {"uv": [12, 0, 11.33333, 10], "texture": "#3"},
"up": {"uv": [12, 0.66667, 10.66667, 0], "texture": "#3"},
"down": {"uv": [12, 9.35, 10.66667, 10], "texture": "#3"}
}
},
{
"from": [3, 0, 1],
"to": [5, 15, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, 3]},
"faces": {
"north": {"uv": [12, 0, 10.66667, 10], "texture": "#3"},
"east": {"uv": [12, 0, 11.33333, 10], "texture": "#3"},
"south": {"uv": [10.66667, 0, 12, 10], "texture": "#3"},
"west": {"uv": [11.33333, 0, 10.66667, 10], "texture": "#3"},
"up": {"uv": [10.66667, 0, 12, 0.66667], "texture": "#3"},
"down": {"uv": [10.66667, 10, 12, 9.35], "texture": "#3"}
}
},
{
"from": [5, 0, 2],
"to": [11, 15, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [-6, 0, 3]},
"faces": {
"north": {"uv": [16, 0, 12, 10], "texture": "#3"},
"east": {"uv": [0, 0, 0, 3.75], "texture": "#3"},
"south": {"uv": [12, 0, 16, 10], "texture": "#3"},
"west": {"uv": [0, 0, 0, 3.75], "texture": "#3"},
"up": {"uv": [1.5, 0, 0, 0], "texture": "#3"},
"down": {"uv": [1.5, 0, 0, 0], "texture": "#3"}
}
},
{
"from": [11, 0, 1],
"to": [13, 15, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [24, 0, 3]},
"faces": {
"north": {"uv": [10.66667, 0, 12, 10], "texture": "#3"},
"east": {"uv": [10.66667, 0, 11.33333, 10], "texture": "#3"},
"south": {"uv": [12, 0, 10.66667, 10], "texture": "#3"},
"west": {"uv": [11.33333, 0, 12, 10], "texture": "#3"},
"up": {"uv": [12, 0, 10.66667, 0.66667], "texture": "#3"},
"down": {"uv": [12, 10, 10.66667, 9.35], "texture": "#3"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0, -0.5, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/small_table",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/small_table_corner",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/small_table_end",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/small_table_mid",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/stool",
"textures": {
"0": "block/acacia_planks",
"particle": "block/acacia_planks"
}
}

View File

@ -1,145 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"2": "modernlife:block/acacia_wall_shelf",
"particle": "modernlife:block/acacia_wall_shelf"
},
"elements": [
{
"from": [0, 7, 0],
"to": [16, 8, 6],
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, -4, 7.5]},
"faces": {
"north": {"uv": [0, 5, 16, 6], "texture": "#2"},
"east": {"uv": [0, 0, 1, 6], "rotation": 270, "texture": "#2"},
"south": {"uv": [0, 0, 16, 1], "texture": "#2"},
"west": {"uv": [0, 0, 1, 6], "rotation": 90, "texture": "#2"},
"up": {"uv": [16, 6, 0, 0], "texture": "#2"},
"down": {"uv": [16, 0, 0, 6], "texture": "#2"}
}
},
{
"from": [1, 4, 0],
"to": [1, 5, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [-4.5, 4.5, 0.5]},
"faces": {
"north": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"east": {"uv": [1, 8, 0, 9], "texture": "#2"},
"south": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"west": {"uv": [0, 8, 1, 9], "texture": "#2"},
"up": {"uv": [0, 2.5, 0, 0], "texture": "#2"},
"down": {"uv": [0, 0, 0, 2.5], "texture": "#2"}
}
},
{
"from": [1, 5, 0],
"to": [1, 6, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [-4.5, 5.5, 0.5]},
"faces": {
"north": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"east": {"uv": [2, 7, 0, 8], "texture": "#2"},
"south": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"west": {"uv": [0, 7, 2, 8], "texture": "#2"},
"up": {"uv": [0, 2.5, 0, 0], "texture": "#2"},
"down": {"uv": [0, 0, 0, 2.5], "texture": "#2"}
}
},
{
"from": [1, 6, 1],
"to": [1, 7, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [-4.5, 6.5, 1.5]},
"faces": {
"north": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"east": {"uv": [3, 6, 1, 7], "texture": "#2"},
"south": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"west": {"uv": [1, 6, 3, 7], "texture": "#2"},
"up": {"uv": [0, 2.5, 0, 0], "texture": "#2"},
"down": {"uv": [0, 0, 0, 2.5], "texture": "#2"}
}
},
{
"from": [15, 6, 1],
"to": [15, 7, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [20.5, 6.5, 1.5]},
"faces": {
"north": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"east": {"uv": [3, 6, 1, 7], "texture": "#2"},
"south": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"west": {"uv": [1, 6, 3, 7], "texture": "#2"},
"up": {"uv": [0, 2.5, 0, 0], "texture": "#2"},
"down": {"uv": [0, 0, 0, 2.5], "texture": "#2"}
}
},
{
"from": [15, 5, 0],
"to": [15, 6, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [20.5, 5.5, 0.5]},
"faces": {
"north": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"east": {"uv": [2, 7, 0, 8], "texture": "#2"},
"south": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"west": {"uv": [0, 7, 2, 8], "texture": "#2"},
"up": {"uv": [0, 2.5, 0, 0], "texture": "#2"},
"down": {"uv": [0, 0, 0, 2.5], "texture": "#2"}
}
},
{
"from": [15, 4, 0],
"to": [15, 5, 1],
"rotation": {"angle": 0, "axis": "y", "origin": [20.5, 4.5, 0.5]},
"faces": {
"north": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"east": {"uv": [1, 8, 0, 9], "texture": "#2"},
"south": {"uv": [0, 0, 0, 2.5], "texture": "#2"},
"west": {"uv": [0, 8, 1, 9], "texture": "#2"},
"up": {"uv": [0, 2.5, 0, 0], "texture": "#2"},
"down": {"uv": [0, 0, 0, 2.5], "texture": "#2"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 0.25, 4.25],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 0.25, 4.25],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -45, 0],
"translation": [-3.5, -1.25, 0]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [0, 0, -8]
}
},
"groups": [
{
"name": "shelf",
"origin": [8, 6, 0.5],
"color": 0,
"children": [0, 1, 2, 3, 4, 5, 6]
}
]
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp",
"textures": {
"1": "block/acacia_wood",
"particle": "block/acacia_wood"
}
}

View File

@ -1,58 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [64, 64],
"textures": {
"106": "modernlife:block/air_conditioner",
"pa": "modernlife:block/air_conditioner"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 15],
"faces": {
"north": {"uv": [10.33333, 0, 15.66667, 5.33333], "texture": "#106"},
"east": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#106"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#106"},
"west": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#106"},
"up": {"uv": [5.33333, 10.33333, 0, 5.33333], "texture": "#106"},
"down": {"uv": [10.66667, 5.33333, 5.33333, 10.33333], "texture": "#106"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0.25, 0, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
}
}

View File

@ -1,58 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "modernlife:block/alarm_clock",
"particle": "modernlife:block/alarm_clock"
},
"elements": [
{
"from": [3, 0, 8],
"to": [13, 5, 12.99],
"faces": {
"north": {"uv": [0, 0, 5, 2.5], "texture": "#0"},
"east": {"uv": [0, 5, 2.5, 7.5], "texture": "#0"},
"south": {"uv": [0, 2.5, 5, 5], "texture": "#0"},
"west": {"uv": [2.5, 5, 0, 7.5], "texture": "#0"},
"up": {"uv": [10, 2.5, 5, 0], "texture": "#0"},
"down": {"uv": [10, 2.5, 5, 5], "texture": "#0"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 4.25, -0.75],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 4.25, -0.75],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 4.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 4.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [-1.5, 5.25, 0]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [0, 5.5, 0]
}
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/barrier",
"textures": {
"0": "block/andesite",
"particle": "block/andesite"
}
}

View File

@ -1,92 +0,0 @@
{
"credit": "Made with Blockbench",
"ambientocclusion": false,
"texture_size": [64, 64],
"textures": {
"64": "modernlife:block/andesite_kitchen_cabinet"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 15],
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [5.33333, 10.33333, 0, 5.33333], "texture": "#64"},
"down": {"uv": [10.66667, 5.33333, 5.33333, 10.33333], "texture": "#64"}
}
},
{
"from": [5, 5, 15],
"to": [7, 7, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [6, 4, 15]},
"faces": {
"north": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"east": {"uv": [11.33334, 5.33333, 11, 6], "texture": "#64"},
"south": {"uv": [10.66666, 5.33333, 11.33334, 6], "texture": "#64"},
"west": {"uv": [10.66666, 5.33333, 11, 6], "texture": "#64"},
"up": {"uv": [10.66666, 5.33333, 11.33334, 5.66666], "texture": "#64"},
"down": {"uv": [10.66666, 5.66667, 11.33334, 6], "texture": "#64"}
}
},
{
"from": [9, 5, 15],
"to": [11, 7, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 4, 15]},
"faces": {
"north": {"uv": [10.66667, 0, 10.33333, 1.33333], "texture": "#64"},
"east": {"uv": [11, 5.33333, 10.66666, 6], "texture": "#64"},
"south": {"uv": [11.33334, 5.33333, 10.66666, 6], "texture": "#64"},
"west": {"uv": [11, 5.33333, 11.33334, 6], "texture": "#64"},
"up": {"uv": [11.33334, 5.33333, 10.66666, 5.66666], "texture": "#64"},
"down": {"uv": [11.33334, 5.66667, 10.66666, 6], "texture": "#64"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0.25, 0, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
},
"groups": [
{
"name": "VoxelShapes",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2]
}
]
}

View File

@ -1,92 +0,0 @@
{
"credit": "Made with Blockbench",
"ambientocclusion": false,
"texture_size": [64, 64],
"textures": {
"64": "modernlife:block/andesite_kitchen_drawer_cabinet"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 16, 15],
"faces": {
"north": {"uv": [10.66667, 0, 16, 5.33333], "texture": "#64"},
"east": {"uv": [10.33333, 0, 5.33333, 5.33333], "texture": "#64"},
"south": {"uv": [0, 0, 5.33333, 5.33333], "texture": "#64"},
"west": {"uv": [5.33333, 0, 10.33333, 5.33333], "texture": "#64"},
"up": {"uv": [5.33333, 10.33333, 0, 5.33333], "texture": "#64"},
"down": {"uv": [10.66667, 5.33333, 5.33333, 10.33333], "texture": "#64"}
}
},
{
"from": [6, 12, 15],
"to": [10, 13, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 10, 15]},
"faces": {
"north": {"uv": [10.33333, 0, 10.66667, 1.33333], "texture": "#64"},
"east": {"uv": [12.66667, 5.33333, 12.33333, 5.66667], "texture": "#64"},
"south": {"uv": [11.33333, 5.33333, 12.66667, 5.66667], "texture": "#64"},
"west": {"uv": [11.33333, 5.33333, 11.66667, 5.66667], "texture": "#64"},
"up": {"uv": [11.33333, 5.33333, 12.66667, 5.66666], "texture": "#64"},
"down": {"uv": [11.33333, 5.33334, 12.66667, 5.66667], "texture": "#64"}
}
},
{
"from": [11, 6, 15],
"to": [13, 8, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 5, 15]},
"faces": {
"north": {"uv": [10.66667, 0, 10.33333, 1.33333], "texture": "#64"},
"east": {"uv": [11, 5.33333, 10.66666, 6], "texture": "#64"},
"south": {"uv": [11.33334, 5.33333, 10.66666, 6], "texture": "#64"},
"west": {"uv": [11, 5.33333, 11.33334, 6], "texture": "#64"},
"up": {"uv": [11.33334, 5.33333, 10.66666, 5.66666], "texture": "#64"},
"down": {"uv": [11.33334, 5.66667, 10.66666, 6], "texture": "#64"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [0.25, 0, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0]
}
},
"groups": [
{
"name": "VoxelShapes",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2]
}
]
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp",
"textures": {
"1": "block/andesite",
"particle": "block/andesite"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp_corner",
"textures": {
"1": "block/andesite",
"particle": "block/andesite"
}
}

View File

@ -1,98 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"115": "modernlife:block/arrow_slit",
"117": "modernlife:block/arrow_slit_top",
"particle": "modernlife:block/arrow_slit_top"
},
"elements": [
{
"from": [0, 0, 12],
"to": [16, 6, 16],
"faces": {
"north": {"uv": [0, 10, 16, 16], "texture": "#115"},
"east": {"uv": [0, 10, 4, 16], "texture": "#115"},
"south": {"uv": [0, 10, 16, 16], "texture": "#115"},
"west": {"uv": [0, 10, 4, 16], "texture": "#115"},
"up": {"uv": [0, 0, 16, 4], "texture": "#117"},
"down": {"uv": [0, 12, 16, 16], "texture": "#115"}
}
},
{
"from": [10, 6, 12],
"to": [16, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 6, 0]},
"faces": {
"north": {"uv": [0, 2, 6, 10], "texture": "#115"},
"east": {"uv": [0, 2, 4, 10], "texture": "#115"},
"south": {"uv": [0, 2, 6, 10], "texture": "#115"},
"west": {"uv": [0, 2, 4, 10], "texture": "#115"},
"up": {"uv": [9, 4, 9, 4], "texture": "#115"},
"down": {"uv": [7, 5, 7, 7], "texture": "#115"}
}
},
{
"from": [0, 14, 12],
"to": [16, 16, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 14, 0]},
"faces": {
"north": {"uv": [0, 0, 16, 2], "texture": "#115"},
"east": {"uv": [0, 0, 5, 2], "texture": "#115"},
"south": {"uv": [0, 0, 16, 2], "texture": "#115"},
"west": {"uv": [0, 0, 4, 2], "texture": "#115"},
"up": {"uv": [0, 0, 16, 4], "texture": "#117"},
"down": {"uv": [0, 4, 16, 8], "texture": "#117"}
}
},
{
"from": [0, 6, 12],
"to": [6, 14, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-10, 6, 0]},
"faces": {
"north": {"uv": [10, 2, 16, 10], "texture": "#115"},
"east": {"uv": [0, 2, 4, 10], "texture": "#115"},
"south": {"uv": [10, 2, 16, 10], "texture": "#115"},
"west": {"uv": [0, 2, 4, 10], "texture": "#115"},
"up": {"uv": [7, 4, 7, 4], "texture": "#115"},
"down": {"uv": [8, 6, 8, 6], "texture": "#115"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, -4],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, -4],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [2.63, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [2.63, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, 45, 0],
"translation": [-2.25, 1.25, 0],
"scale": [0.6, 0.6, 0.6]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [0, 0, 4.75]
}
}
}

View File

@ -1,66 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "block/0",
"particle": "block/0"
},
"elements": [
{
"from": [0, 0, 12],
"to": [16, 16, 16],
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#0"},
"east": {"uv": [0, 0, 4, 16], "texture": "#0"},
"south": {"uv": [0, 0, 16, 16], "texture": "#0"},
"west": {"uv": [0, 0, 4, 16], "texture": "#0"},
"up": {"uv": [0, 0, 16, 4], "texture": "#0"},
"down": {"uv": [0, 0, 16, 4], "texture": "#0"}
}
}
],
"gui_light": "front",
"display": {
"thirdperson_righthand": {
"translation": [0, 3, -4],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, -4],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, -90, 25],
"translation": [2.63, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, -90, 25],
"translation": [2.63, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [20, 20, 0],
"translation": [-1.75, 1.75, 0],
"scale": [0.7, 0.7, 0.7]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [0, 0, 4.75]
}
},
"groups": [
{
"name": "VoxelShapes",
"origin": [8, 8, 8],
"children": [0]
}
]
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/ramp",
"textures": {
"1": "block/basalt",
"particle": "block/basalt"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "modernlife:block/bathroom_ceramic_tile"
}
}

View File

@ -1,123 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [128, 128],
"textures": {
"1": "modernlife:block/bathtub",
"particle": "modernlife:block/bathtub"
},
"elements": [
{
"from": [13, 1, 0],
"to": [16, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 0]},
"faces": {
"north": {"uv": [10.66667, 0, 9.66667, 3], "texture": "#1"},
"east": {"uv": [10.66667, 0, 16, 2.99167], "texture": "#1"},
"south": {"uv": [9.66667, 0, 10.66667, 3], "texture": "#1"},
"west": {"uv": [16, 0, 10.66667, 3], "texture": "#1"},
"up": {"uv": [1.04167, 8.66667, 0, 3.33333], "texture": "#1"},
"down": {"uv": [5.25, 5.625, 4.875, 7.625], "texture": "#1"}
}
},
{
"from": [0, 0, 0],
"to": [16, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 0]},
"faces": {
"north": {"uv": [0, 3, 5.33333, 3.33333], "texture": "#1"},
"east": {"uv": [16, 3, 10.66667, 3.33333], "texture": "#1"},
"south": {"uv": [5.33333, 3, 0, 3.33333], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 8.66667, 0, 3.33333], "texture": "#1"},
"down": {"uv": [5.33333, 8.66667, 0, 14], "texture": "#1"}
}
},
{
"from": [0, 1, 0],
"to": [13, 10, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 0]},
"faces": {
"north": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 3.33333, 1, 4], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [0, 1, 14],
"to": [13, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 16]},
"faces": {
"north": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 4, 1, 3.33333], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [-0.68, 0.68, 0.68]
},
"ground": {
"translation": [-4.3, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -135, 0],
"translation": [2.2, 0.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"head": {
"rotation": [-180, 90, 0],
"translation": [0, 0, -8],
"scale": [1.2, 1.2, 1.2]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [4, 1, -3],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "water_spout",
"origin": [0, 0, 0],
"color": 0,
"children": []
},
{
"name": "tub_base",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3]
},
{
"name": "shower_toggle",
"origin": [0, 0, 0],
"color": 0,
"children": []
}
]
}

View File

@ -1,138 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [128, 128],
"textures": {
"1": "modernlife:block/bathtub",
"2": "modernlife:block/toilet_water_still",
"particle": "modernlife:block/bathtub"
},
"elements": [
{
"from": [13, 1, 0],
"to": [16, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 0]},
"faces": {
"north": {"uv": [10.66667, 0, 9.66667, 3], "texture": "#1"},
"east": {"uv": [10.66667, 0, 16, 2.99167], "texture": "#1"},
"south": {"uv": [9.66667, 0, 10.66667, 3], "texture": "#1"},
"west": {"uv": [16, 0, 10.66667, 3], "texture": "#1"},
"up": {"uv": [1.04167, 8.66667, 0, 3.33333], "texture": "#1"},
"down": {"uv": [5.25, 5.625, 4.875, 7.625], "texture": "#1"}
}
},
{
"from": [0, 0, 0],
"to": [16, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 0]},
"faces": {
"north": {"uv": [0, 3, 5.33333, 3.33333], "texture": "#1"},
"east": {"uv": [16, 3, 10.66667, 3.33333], "texture": "#1"},
"south": {"uv": [5.33333, 3, 0, 3.33333], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 8.66667, 0, 3.33333], "texture": "#1"},
"down": {"uv": [5.33333, 8.66667, 0, 14], "texture": "#1"}
}
},
{
"from": [0, 1, 0],
"to": [13, 10, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 0]},
"faces": {
"north": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 3.33333, 1, 4], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [0, 1, 14],
"to": [13, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 5, 16]},
"faces": {
"north": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 4, 1, 3.33333], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [0, 7, 2],
"to": [13, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [-3, 11, 0]},
"faces": {
"north": {"uv": [5.33333, 3, 10.66667, 3.33333], "texture": "#2"},
"east": {"uv": [6.625, 4.625, 8.625, 4.75], "texture": "#2"},
"south": {"uv": [10.66667, 3, 5.33333, 3.33333], "texture": "#2"},
"west": {"uv": [16, 16, 16, 16], "texture": "#2"},
"up": {"uv": [16, 4, 3, 16], "texture": "#2"},
"down": {"uv": [16, 4, 3, 16], "texture": "#2"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [-0.68, 0.68, 0.68]
},
"ground": {
"translation": [-4.3, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -135, 0],
"translation": [2.2, 0.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"head": {
"rotation": [-180, 90, 0],
"translation": [0, 0, -8],
"scale": [1.2, 1.2, 1.2]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [4, 1, -3],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "water_spout",
"origin": [0, 0, 0],
"color": 0,
"children": []
},
{
"name": "tub_base",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3]
},
{
"name": "shower_toggle",
"origin": [0, 0, 0],
"color": 0,
"children": []
},
4
]
}

View File

@ -1,174 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [128, 128],
"textures": {
"1": "modernlife:block/bathtub"
},
"elements": [
{
"from": [29, 1, 0],
"to": [32, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [10.66667, 0, 9.66667, 3], "texture": "#1"},
"east": {"uv": [10.66667, 0, 16, 2.99167], "texture": "#1"},
"south": {"uv": [9.66667, 0, 10.66667, 3], "texture": "#1"},
"west": {"uv": [16, 0, 10.66667, 3], "texture": "#1"},
"up": {"uv": [1.04167, 8.66667, 0, 3.33333], "texture": "#1"},
"down": {"uv": [5.25, 5.625, 4.875, 7.625], "texture": "#1"}
}
},
{
"from": [16, 0, 0],
"to": [32, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [0, 3, 5.33333, 3.33333], "texture": "#1"},
"east": {"uv": [16, 3, 10.66667, 3.33333], "texture": "#1"},
"south": {"uv": [5.33333, 3, 0, 3.33333], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 8.66667, 0, 3.33333], "texture": "#1"},
"down": {"uv": [5.33333, 8.66667, 0, 14], "texture": "#1"}
}
},
{
"from": [0, 0, 0],
"to": [16, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [5.33333, 3, 10.66667, 3.33333], "texture": "#1"},
"east": {"uv": [6.625, 4.625, 8.625, 4.75], "texture": "#1"},
"south": {"uv": [10.66667, 3, 5.33333, 3.33333], "texture": "#1"},
"west": {"uv": [10.66667, 3.33333, 16, 3], "texture": "#1"},
"up": {"uv": [10.66667, 3.33333, 5.33333, 8.66667], "texture": "#1"},
"down": {"uv": [10.66667, 8.66667, 5.33333, 14], "texture": "#1"}
}
},
{
"from": [0, 1, 0],
"to": [3, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [1, 0, 0, 3], "texture": "#1"},
"east": {"uv": [10.66667, 0, 16, 3], "texture": "#1"},
"south": {"uv": [0, 0, 1, 3], "texture": "#1"},
"west": {"uv": [10.66667, 0, 16, 3], "texture": "#1"},
"up": {"uv": [10.66667, 3.33333, 9.66667, 8.66667], "texture": "#1"},
"down": {"uv": [6.375, 0, 6, 2], "texture": "#1"}
}
},
{
"from": [16, 1, 0],
"to": [29, 10, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 3.33333, 1, 4], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [16, 1, 14],
"to": [29, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 16]},
"faces": {
"north": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [5.33333, 4, 1, 3.33333], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [3, 1, 0],
"to": [16, 10, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [1, 3.33333, 5.33333, 4], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [3, 1, 14],
"to": [16, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 16]},
"faces": {
"north": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [1, 4, 5.33333, 3.33333], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [-0.68, 0.68, 0.68]
},
"ground": {
"translation": [-4.3, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -135, 0],
"translation": [2.2, 0.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"head": {
"rotation": [-180, 90, 0],
"translation": [0, 0, -8],
"scale": [1.2, 1.2, 1.2]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [4, 1, -3],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "water_spout",
"origin": [0, 0, 0],
"color": 0,
"children": []
},
{
"name": "tub_base",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3, 4, 5, 6, 7]
},
{
"name": "shower_toggle",
"origin": [0, 0, 0],
"color": 0,
"children": []
}
]
}

View File

@ -1,123 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [128, 128],
"textures": {
"1": "modernlife:block/bathtub",
"particle": "modernlife:block/toilet_water_still"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [5.33333, 3, 10.66667, 3.33333], "texture": "#1"},
"east": {"uv": [6.625, 4.625, 8.625, 4.75], "texture": "#1"},
"south": {"uv": [10.66667, 3, 5.33333, 3.33333], "texture": "#1"},
"west": {"uv": [10.66667, 3.33333, 16, 3], "texture": "#1"},
"up": {"uv": [10.66667, 3.33333, 5.33333, 8.66667], "texture": "#1"},
"down": {"uv": [10.66667, 8.66667, 5.33333, 14], "texture": "#1"}
}
},
{
"from": [0, 1, 0],
"to": [3, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [1, 0, 0, 3], "texture": "#1"},
"east": {"uv": [10.66667, 0, 16, 3], "texture": "#1"},
"south": {"uv": [0, 0, 1, 3], "texture": "#1"},
"west": {"uv": [10.66667, 0, 16, 3], "texture": "#1"},
"up": {"uv": [10.66667, 3.33333, 9.66667, 8.66667], "texture": "#1"},
"down": {"uv": [6.375, 0, 6, 2], "texture": "#1"}
}
},
{
"from": [3, 1, 0],
"to": [16, 10, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [1, 3.33333, 5.33333, 4], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [3, 1, 14],
"to": [16, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 16]},
"faces": {
"north": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [1, 4, 5.33333, 3.33333], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [-0.68, 0.68, 0.68]
},
"ground": {
"translation": [-4.3, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -135, 0],
"translation": [2.2, 0.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"head": {
"rotation": [-180, 90, 0],
"translation": [0, 0, -8],
"scale": [1.2, 1.2, 1.2]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [4, 1, -3],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "water_spout",
"origin": [0, 0, 0],
"color": 0,
"children": []
},
{
"name": "tub_base",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3]
},
{
"name": "shower_toggle",
"origin": [0, 0, 0],
"color": 0,
"children": []
}
]
}

View File

@ -1,138 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [128, 128],
"textures": {
"1": "modernlife:block/bathtub",
"2": "modernlife:block/toilet_water_still",
"particle": "modernlife:block/toilet_water_still"
},
"elements": [
{
"from": [0, 0, 0],
"to": [16, 1, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [5.33333, 3, 10.66667, 3.33333], "texture": "#1"},
"east": {"uv": [6.625, 4.625, 8.625, 4.75], "texture": "#1"},
"south": {"uv": [10.66667, 3, 5.33333, 3.33333], "texture": "#1"},
"west": {"uv": [10.66667, 3.33333, 16, 3], "texture": "#1"},
"up": {"uv": [10.66667, 3.33333, 5.33333, 8.66667], "texture": "#1"},
"down": {"uv": [10.66667, 8.66667, 5.33333, 14], "texture": "#1"}
}
},
{
"from": [0, 1, 0],
"to": [3, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [1, 0, 0, 3], "texture": "#1"},
"east": {"uv": [10.66667, 0, 16, 3], "texture": "#1"},
"south": {"uv": [0, 0, 1, 3], "texture": "#1"},
"west": {"uv": [10.66667, 0, 16, 3], "texture": "#1"},
"up": {"uv": [10.66667, 3.33333, 9.66667, 8.66667], "texture": "#1"},
"down": {"uv": [6.375, 0, 6, 2], "texture": "#1"}
}
},
{
"from": [3, 1, 0],
"to": [16, 10, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [1, 3.33333, 5.33333, 4], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [3, 1, 14],
"to": [16, 10, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 16]},
"faces": {
"north": {"uv": [5.33333, 0, 1, 3], "texture": "#1"},
"east": {"uv": [16, 16, 16, 16], "texture": "#1"},
"south": {"uv": [1, 0, 5.33333, 3], "texture": "#1"},
"west": {"uv": [16, 16, 16, 16], "texture": "#1"},
"up": {"uv": [1, 4, 5.33333, 3.33333], "texture": "#1"},
"down": {"uv": [16, 16, 16, 16], "texture": "#1"}
}
},
{
"from": [3, 7, 2],
"to": [16, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 11, 0]},
"faces": {
"north": {"uv": [5.33333, 3, 10.66667, 3.33333], "texture": "#2"},
"east": {"uv": [6.625, 4.625, 8.625, 4.75], "texture": "#2"},
"south": {"uv": [10.66667, 3, 5.33333, 3.33333], "texture": "#2"},
"west": {"uv": [16, 16, 16, 16], "texture": "#2"},
"up": {"uv": [16, 4, 3, 16], "texture": "#2"},
"down": {"uv": [16, 4, 3, 16], "texture": "#2"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"rotation": [0, 90, 0],
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 90, 25],
"translation": [1.13, 3.2, 3.13],
"scale": [-0.68, 0.68, 0.68]
},
"ground": {
"translation": [-4.3, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -135, 0],
"translation": [2.2, 0.25, 0],
"scale": [0.4, 0.4, 0.4]
},
"head": {
"rotation": [-180, 90, 0],
"translation": [0, 0, -8],
"scale": [1.2, 1.2, 1.2]
},
"fixed": {
"rotation": [0, 180, 0],
"translation": [4, 1, -3],
"scale": [0.5, 0.5, 0.5]
}
},
"groups": [
{
"name": "water_spout",
"origin": [0, 0, 0],
"color": 0,
"children": []
},
{
"name": "tub_base",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3]
},
{
"name": "shower_toggle",
"origin": [0, 0, 0],
"color": 0,
"children": []
},
4
]
}

View File

@ -1,6 +0,0 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "modernlife:block/beige_ceramic_tile"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "modernlife:block/barrier",
"textures": {
"0": "block/birch_planks",
"particle": "block/birch_planks"
}
}

View File

@ -1,215 +0,0 @@
{
"credit": "Made with Blockbench",
"texture_size": [64, 64],
"render_type" : "cutout",
"textures": {
"138": "modernlife:block/birch_chair",
"particle": "modernlife:block/birch_chair"
},
"elements": [
{
"name": "top",
"from": [2, 7, 2],
"to": [14, 10, 14],
"faces": {
"north": {"uv": [0, 6, 6, 7.5], "texture": "#138"},
"east": {"uv": [6, 7.5, 0, 9], "texture": "#138"},
"south": {"uv": [6, 6, 12, 7.5], "texture": "#138"},
"west": {"uv": [0, 7.5, 6, 9], "texture": "#138"},
"up": {"uv": [6, 6, 0, 0], "texture": "#138"},
"down": {"uv": [12, 0, 6, 6], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [4, 10, 13],
"to": [12, 25, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [-2, 0, 0]},
"faces": {
"north": {"uv": [12, 0, 16, 7.5], "texture": "#138"},
"east": {"uv": [0, 0, 0, 3.75], "texture": "#138"},
"south": {"uv": [12, 0, 16, 7.5], "texture": "#138"},
"west": {"uv": [0, 0, 0, 3.75], "texture": "#138"},
"up": {"uv": [2, 0, 0, 0], "texture": "#138"},
"down": {"uv": [2, 0, 0, 0], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [2, 10, 12],
"to": [4, 24, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
"faces": {
"north": {"uv": [1, 9, 0, 16], "texture": "#138"},
"east": {"uv": [1, 9, 0, 16], "texture": "#138"},
"south": {"uv": [0, 9, 1, 16], "texture": "#138"},
"west": {"uv": [1, 9, 0, 16], "texture": "#138"},
"up": {"uv": [2, 12, 3, 11], "texture": "#138"},
"down": {"uv": [2, 10, 3, 11], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [12, 10, 12],
"to": [14, 24, 14],
"faces": {
"north": {"uv": [0, 9, 1, 16], "texture": "#138"},
"east": {"uv": [0, 9, 1, 16], "texture": "#138"},
"south": {"uv": [1, 9, 0, 16], "texture": "#138"},
"west": {"uv": [0, 9, 1, 16], "texture": "#138"},
"up": {"uv": [3, 12, 2, 11], "texture": "#138"},
"down": {"uv": [3, 10, 2, 11], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [4, 2, 3],
"to": [12, 4, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [2, 9, 6, 10], "texture": "#138"},
"east": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"south": {"uv": [2, 9, 6, 10], "texture": "#138"},
"west": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "rotation": 270, "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#138"}
}
},
{
"name": "back_support",
"from": [4, 2, 13],
"to": [12, 4, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [6, 9, 2, 10], "texture": "#138"},
"east": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"south": {"uv": [6, 9, 2, 10], "texture": "#138"},
"west": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "rotation": 270, "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "rotation": 90, "texture": "#138"}
}
},
{
"name": "back_support",
"from": [13, 2, 4],
"to": [13, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"east": {"uv": [2, 9, 6, 10], "texture": "#138"},
"south": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"west": {"uv": [2, 9, 6, 10], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [3, 2, 4],
"to": [3, 4, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]},
"faces": {
"north": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"east": {"uv": [6, 9, 2, 10], "texture": "#138"},
"south": {"uv": [0, 0, 0, 0.5], "texture": "#138"},
"west": {"uv": [6, 9, 2, 10], "texture": "#138"},
"up": {"uv": [0, 2, 0, 0], "texture": "#138"},
"down": {"uv": [0, 0, 0, 2], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [12, 0, 2],
"to": [14, 7, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, -10]},
"faces": {
"north": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"east": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"south": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"west": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"up": {"uv": [3, 11, 2, 10], "texture": "#138"},
"down": {"uv": [3, 10, 2, 11], "texture": "#138"}
}
},
{
"name": "back_support",
"from": [2, 0, 2],
"to": [4, 7, 4],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, -10]},
"faces": {
"north": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"east": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"south": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"west": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"up": {"uv": [2, 11, 3, 10], "texture": "#138"},
"down": {"uv": [2, 10, 3, 11], "texture": "#138"}
}
},
{
"name": "front_support",
"from": [2, 0, 12],
"to": [4, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 26]},
"faces": {
"north": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"east": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"south": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"west": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"up": {"uv": [2, 10, 3, 11], "texture": "#138"},
"down": {"uv": [2, 11, 3, 10], "texture": "#138"}
}
},
{
"name": "front_support",
"from": [12, 0, 12],
"to": [14, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 26]},
"faces": {
"north": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"east": {"uv": [1, 9, 2, 12.5], "texture": "#138"},
"south": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"west": {"uv": [2, 9, 1, 12.5], "texture": "#138"},
"up": {"uv": [3, 10, 2, 11], "texture": "#138"},
"down": {"uv": [3, 11, 2, 10], "texture": "#138"}
}
}
],
"display": {
"thirdperson_righthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"thirdperson_lefthand": {
"translation": [0, 3, 1],
"scale": [0.55, 0.55, 0.55]
},
"firstperson_righthand": {
"rotation": [0, 10, 0],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 10, 0],
"translation": [1.13, 3.2, 1.13],
"scale": [0.68, 0.68, 0.68]
},
"ground": {
"translation": [0, 2, 0],
"scale": [0.5, 0.5, 0.5]
},
"gui": {
"rotation": [30, -135, 0],
"translation": [0, -1.75, 0],
"scale": [0.5, 0.5, 0.5]
},
"head": {
"rotation": [0, 180, 0],
"translation": [0, 13, 7]
},
"fixed": {
"rotation": [0, 90, 0],
"translation": [0, -0.25, -2.75],
"scale": [0.5, 0.5, 0.5]
}
}
}

View File

@ -1,8 +0,0 @@
{
"parent": "modernlife:block/coffee_table",
"textures": {
"0": "block/birch_planks",
"1": "block/birch_log",
"particle": "block/birch_log"
}
}

View File

@ -1,8 +0,0 @@
{
"parent": "modernlife:block/coffee_table_corner",
"textures": {
"0": "block/birch_planks",
"1": "block/birch_log",
"particle": "block/birch_log"
}
}

View File

@ -1,8 +0,0 @@
{
"parent": "modernlife:block/coffee_table_end",
"textures": {
"0": "block/birch_planks",
"1": "block/birch_log",
"particle": "block/birch_log"
}
}

Some files were not shown because too many files have changed in this diff Show More