完成初步目标
This commit is contained in:
parent
b1efbe3a32
commit
2d2cc256cf
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -23,3 +23,4 @@ run
|
|||
|
||||
# Files from Forge MDK
|
||||
forge*changelog.txt
|
||||
/run-data/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ plugins {
|
|||
id 'org.parchmentmc.librarian.forgegradle' version '1.+'
|
||||
id 'org.spongepowered.mixin' version '0.7.+'
|
||||
}
|
||||
|
||||
apply plugin: 'org.spongepowered.mixin'
|
||||
version = mod_version
|
||||
group = mod_group_id
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ minecraft {
|
|||
// However, it must be at "META-INF/accesstransformer.cfg" in the final mod jar to be loaded by Forge.
|
||||
// This default location is a best practice to automatically put the file in the right place in the final jar.
|
||||
// See https://docs.minecraftforge.net/en/latest/advanced/accesstransformers/ for more information.
|
||||
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
|
||||
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
|
||||
|
||||
// Default run configurations.
|
||||
// These can be tweaked, removed, or duplicated as needed.
|
||||
|
|
@ -119,7 +119,9 @@ minecraft {
|
|||
// Include resources generated by data generators.
|
||||
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
||||
mixin {
|
||||
add sourceSets.main, "mdp.remaps.json"
|
||||
add sourceSets.main, mod_id+".refmap.json"
|
||||
config "${mod_id}.mixins.json"
|
||||
debug.export = true
|
||||
}
|
||||
repositories {
|
||||
// Put repositories for dependencies here
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ mod_name=Modern Life Patch
|
|||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||
mod_license=MIT
|
||||
# The mod version. See https://semver.org/
|
||||
mod_version=1.20.1-0.0.1
|
||||
mod_version=1.20.1-1.4.2
|
||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
||||
# This should match the base package used for the mod sources.
|
||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||
|
|
@ -51,4 +51,4 @@ mod_group_id=com.r3944realms.modernlifepatch
|
|||
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
|
||||
mod_authors=r3944Realms
|
||||
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
|
||||
mod_description=A patch was made due to too many flaws in the original author's graphic design.\n?????????????????????
|
||||
mod_description=A patch was made due to too many flaws in the original author's graphic design.
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
// 1.20.1 2025-02-22T12:37:42.6884778 Languages: zh_cn
|
||||
b86030154fc971c84b41c6267f947721dfc55fb7 assets/modernlifepatch/lang/zh_cn.json
|
||||
// 1.20.1 2025-02-23T15:27:02.7913922 Languages: zh_cn
|
||||
e226afd730bb6a400c7d958e5b5de12115ca55c9 assets/modernlifepatch/lang/zh_cn.json
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
// 1.20.1 2025-02-22T12:37:42.7041161 Languages: en_us
|
||||
72c73ed767b25aa4259ae5b89aae7150a81411fb assets/modernlifepatch/lang/en_us.json
|
||||
// 1.20.1 2025-02-23T15:27:02.795393 Languages: en_us
|
||||
52c96d3608bb79f1e560ac298dbc43e3523cec8d assets/modernlifepatch/lang/en_us.json
|
||||
|
|
|
|||
|
|
@ -15,12 +15,18 @@
|
|||
"gui.tag_filter.modernlifepatch.shelf": "Shelf",
|
||||
"gui.tag_filter.modernlifepatch.table": "Table",
|
||||
"itemGroup.modernlifepatch": "Modern Life Patch",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm1": "Silent Alarm",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm2": "Alarm 1",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm3": "Alarm 2",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm4": "Alarm 3",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm5": "Alarm 4",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.silent_alarm": "Silent Alarm",
|
||||
"modernlifepatch.lang.battery.hover_text.0": "Right click to recharge flashlight (battery will be consumed)",
|
||||
"modernlifepatch.lang.bicycle.hover_text.0": "Right click to deploy",
|
||||
"modernlifepatch.lang.bookshelf.hover_text.1": "Right click tp place a book on the shelf",
|
||||
"modernlifepatch.lang.bookshelf.hover_text.2": "Shift-right-click with an empty hand to remove a book",
|
||||
"modernlifepatch.lang.camera.hover_text.1": "%d/%d photos stored in memory card",
|
||||
"modernlifepatch.lang.camera.hover_text.2": "* Does not break when durability hits 0",
|
||||
"modernlifepatch.lang.camera.hover_text.1": "Sounds an alarm when powered by redstone;",
|
||||
"modernlifepatch.lang.camera.hover_text.2": "right-click with empty mainhand to change alarm sound",
|
||||
"modernlifepatch.lang.camera.hover_text.3": "* Take to a printer to print your photos",
|
||||
"modernlifepatch.lang.canvas.hover_text.block_size": "%f x %f ",
|
||||
"modernlifepatch.lang.canvas.hover_text.custom_size": "Custom print",
|
||||
|
|
@ -76,7 +82,8 @@
|
|||
"modernlifepatch.lang.motorboat.hover_text.1": "Right click to deploy",
|
||||
"modernlifepatch.lang.motorboat.hover_text.2": "Remaining fuel: %f%%",
|
||||
"modernlifepatch.lang.motorboat.hover_text.3": "Refuel by using a gas can on the deployed boat",
|
||||
"modernlifepatch.lang.need_rs_power.hover_text.0": "Requires redstone power to operate",
|
||||
"modernlifepatch.lang.need_rs_power_turn_off.hover_text.0": "Requires redstone power to turn off",
|
||||
"modernlifepatch.lang.need_rs_power_turn_on.hover_text.0": "Requires redstone power to turn on",
|
||||
"modernlifepatch.lang.paved_road.hover_text.0": "Slightly increases movement speed of vehicles",
|
||||
"modernlifepatch.lang.photocopier.hover_text.1": "Interact with a canvas or photograph to make copies",
|
||||
"modernlifepatch.lang.photocopier.hover_text.2": " * Requires paper",
|
||||
|
|
|
|||
|
|
@ -15,12 +15,18 @@
|
|||
"gui.tag_filter.modernlifepatch.shelf": "架子",
|
||||
"gui.tag_filter.modernlifepatch.table": "桌子",
|
||||
"itemGroup.modernlifepatch": "摩登生活补丁",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm1": "静音警报",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm2": "警报1",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm3": "警报2",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm4": "警报3",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.alarm5": "警报4",
|
||||
"modernlifepatch.lang.alarm_sound_type.modernlifepatch.silent_alarm": "静音警报",
|
||||
"modernlifepatch.lang.battery.hover_text.0": "右键消耗为手电筒更换电池",
|
||||
"modernlifepatch.lang.bicycle.hover_text.0": "右键放置",
|
||||
"modernlifepatch.lang.bookshelf.hover_text.1": "右键以放置书在书架上",
|
||||
"modernlifepatch.lang.bookshelf.hover_text.2": "空手按住Shift键+右键即可取下书",
|
||||
"modernlifepatch.lang.camera.hover_text.1": "内存卡里照片数: %d/%d",
|
||||
"modernlifepatch.lang.camera.hover_text.2": "* 当耐久掉到0时,也不会损坏",
|
||||
"modernlifepatch.lang.camera.hover_text.1": "红石充能时发出警报",
|
||||
"modernlifepatch.lang.camera.hover_text.2": "主手空手右击以改变警报声音",
|
||||
"modernlifepatch.lang.camera.hover_text.3": "* 提供打印机把所拍照冲洗出来",
|
||||
"modernlifepatch.lang.canvas.hover_text.block_size": "%f x %f",
|
||||
"modernlifepatch.lang.canvas.hover_text.custom_size": "自定义尺寸画作",
|
||||
|
|
@ -76,7 +82,8 @@
|
|||
"modernlifepatch.lang.motorboat.hover_text.1": "右键放置",
|
||||
"modernlifepatch.lang.motorboat.hover_text.2": "燃料剩余量: %f%%",
|
||||
"modernlifepatch.lang.motorboat.hover_text.3": "对船使用汽油罐来加油",
|
||||
"modernlifepatch.lang.need_rs_power.hover_text.0": "需要红石充能",
|
||||
"modernlifepatch.lang.need_rs_power_turn_off.hover_text.0": "需要红石充能才能关闭",
|
||||
"modernlifepatch.lang.need_rs_power_turn_on.hover_text.0": "需要红石充能才能开启",
|
||||
"modernlifepatch.lang.paved_road.hover_text.0": "载具在该路上行驶,移速会有所提升",
|
||||
"modernlifepatch.lang.photocopier.hover_text.1": "可以用于照片或画作的复制",
|
||||
"modernlifepatch.lang.photocopier.hover_text.2": " * 需要纸",
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package com.r3944realms.modernlifepatch;
|
||||
|
||||
import com.r3944realms.modernlifepatch.client.blockentity.MirrorBlockEntityRenderer;
|
||||
import com.r3944realms.modernlifepatch.client.event.CreativeScreenEvents;
|
||||
import com.r3944realms.modernlifepatch.content.blocks.entities.ModBlockEntityType;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.client.event.EntityRenderersEvent;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
|
||||
|
|
@ -21,7 +23,7 @@ public abstract class ClientEventHandler {
|
|||
event.enqueueWork(() -> {
|
||||
|
||||
});
|
||||
|
||||
if(ModernLifePatch.isModernLifeLoaded) MinecraftForge.EVENT_BUS.register(new CreativeScreenEvents());
|
||||
}
|
||||
@SubscribeEvent
|
||||
public static void onRegisterRenderer (EntityRenderersEvent.RegisterRenderers event) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package com.r3944realms.modernlifepatch;
|
|||
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.packs.PackResources;
|
||||
import net.minecraft.server.packs.PackType;
|
||||
import net.minecraft.server.packs.repository.Pack;
|
||||
import net.minecraft.server.packs.repository.PackSource;
|
||||
|
|
@ -15,7 +14,6 @@ import net.minecraftforge.resource.PathPackResources;
|
|||
|
||||
import java.nio.file.Path;
|
||||
|
||||
import static com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue.MOD_RESOURCE_DESC;
|
||||
import static com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue.MOD_RESOURCE_NAME;
|
||||
|
||||
public abstract class CommonEventHandler {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.r3944realms.modernlifepatch;
|
|||
|
||||
import com.r3944realms.modernlifepatch.content.blocks.ModBlocks;
|
||||
import com.r3944realms.modernlifepatch.content.blocks.entities.ModBlockEntityType;
|
||||
import com.r3944realms.modernlifepatch.content.item.ModCreativeTabs;
|
||||
import com.r3944realms.modernlifepatch.content.item.ModItems;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
|
|
@ -21,8 +22,9 @@ public class ModernLifePatch {
|
|||
public ModernLifePatch() {
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||
ModItems.ITEMS.register(modEventBus);
|
||||
ModBlocks.BLOCKS.register(modEventBus);
|
||||
ModBlockEntityType.BLOCK_ENTITY_TYPE.register(modEventBus);
|
||||
ModItems.register(modEventBus);
|
||||
ModBlocks.register(modEventBus);
|
||||
ModCreativeTabs.register(modEventBus);
|
||||
ModBlockEntityType.register(modEventBus);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,267 @@
|
|||
package com.r3944realms.modernlifepatch.client.event;
|
||||
|
||||
import com.dairymoose.modernlife.core.CustomBlocks;
|
||||
import com.dairymoose.modernlife.core.ModernLife;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.r3944realms.modernlifepatch.ModernLifePatch;
|
||||
import com.r3944realms.modernlifepatch.client.gui.widget.button.IconButton;
|
||||
import com.r3944realms.modernlifepatch.client.gui.widget.button.TagButton;
|
||||
import com.r3944realms.modernlifepatch.content.item.ModCreativeTabs;
|
||||
import com.r3944realms.modernlifepatch.content.tag.ModTags;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import com.r3944realms.modernlifepatch.modInterface.CreativeItem;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.components.Button;
|
||||
import net.minecraft.client.gui.components.Tooltip;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen;
|
||||
import net.minecraft.core.NonNullList;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.CreativeModeTabs;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraftforge.client.event.ClientPlayerNetworkEvent;
|
||||
import net.minecraftforge.client.event.ScreenEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Author: MrCrayfish
|
||||
*/
|
||||
public class CreativeScreenEvents {
|
||||
private static final ResourceLocation ICONS = new ResourceLocation(ModernLifePatch.MOD_ID,"textures/gui/icons.png");
|
||||
private static int startIndex;
|
||||
private static CreativeModeTab lastTab = CreativeModeTabs.getDefaultTab();
|
||||
|
||||
private List<TagFilter> filters;
|
||||
private List<TagButton> buttons;
|
||||
private Button btnScrollUp;
|
||||
private Button btnScrollDown;
|
||||
private Button btnEnableAll;
|
||||
private Button btnDisableAll;
|
||||
private int guiCenterX = 0;
|
||||
private int guiCenterY = 0;
|
||||
@SubscribeEvent
|
||||
public void onPlayerLogout(ClientPlayerNetworkEvent.LoggingOut event) {
|
||||
this.filters = null;
|
||||
}
|
||||
@SubscribeEvent
|
||||
public void onScreenInit(ScreenEvent.Init.Post event) {
|
||||
if(event.getScreen() instanceof CreativeModeInventoryScreen creativeScreen) {
|
||||
if(this.filters == null) {
|
||||
this.compileItems();
|
||||
}
|
||||
|
||||
this.guiCenterX = creativeScreen.getGuiLeft();
|
||||
this.guiCenterY = creativeScreen.getGuiTop();
|
||||
this.buttons = this.createTagButtons();
|
||||
this.buttons.forEach(event::addListener);
|
||||
|
||||
event.addListener(this.btnScrollUp = new IconButton(this.guiCenterX - 22, this.guiCenterY - 12, button -> {
|
||||
if(startIndex > 0) startIndex--;
|
||||
this.updateTagButtons();
|
||||
}, ICONS, 64, 0));
|
||||
|
||||
event.addListener(this.btnScrollDown = new IconButton(this.guiCenterX - 22, this.guiCenterY + 127, button -> {
|
||||
if(startIndex <= filters.size() - 4 - 1) startIndex++;
|
||||
this.updateTagButtons();
|
||||
}, ICONS, 80, 0));
|
||||
|
||||
event.addListener(this.btnEnableAll = new IconButton(this.guiCenterX - 50, this.guiCenterY + 10, button -> {
|
||||
this.filters.forEach(filters -> filters.setEnabled(true));
|
||||
this.buttons.forEach(TagButton::updateState);
|
||||
Screen screen = Minecraft.getInstance().screen;
|
||||
if(screen instanceof CreativeModeInventoryScreen)
|
||||
{
|
||||
this.updateItems((CreativeModeInventoryScreen) screen);
|
||||
}
|
||||
}, ICONS, 96, 0));
|
||||
this.btnEnableAll.setTooltip(Tooltip.create(Component.translatable(ModLangKeyValue.CREATIVE_TAB_ENABLE_FILTERS_BUTTON.getKey())));
|
||||
|
||||
event.addListener(this.btnDisableAll = new IconButton(this.guiCenterX - 50, this.guiCenterY + 32, button -> {
|
||||
this.filters.forEach(filters -> filters.setEnabled(false));
|
||||
this.buttons.forEach(TagButton::updateState);
|
||||
Screen screen = Minecraft.getInstance().screen;
|
||||
if(screen instanceof CreativeModeInventoryScreen)
|
||||
{
|
||||
this.updateItems((CreativeModeInventoryScreen) screen);
|
||||
}
|
||||
}, ICONS, 112, 0));
|
||||
this.btnDisableAll.setTooltip(Tooltip.create(Component.translatable(ModLangKeyValue.CREATIVE_TAB_DISABLE_FILTERS_BUTTON.getKey())));
|
||||
|
||||
this.onSwitchCreativeTab(CreativeModeInventoryScreen.selectedTab, creativeScreen);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onScreenDrawPost(ScreenEvent.Render.Post event) {
|
||||
if(event.getScreen() instanceof CreativeModeInventoryScreen creativeScreen) {
|
||||
this.guiCenterX = creativeScreen.getGuiLeft();
|
||||
this.guiCenterY = creativeScreen.getGuiTop();
|
||||
|
||||
CreativeModeTab tab = CreativeModeInventoryScreen.selectedTab;
|
||||
if(lastTab != tab) {
|
||||
this.onSwitchCreativeTab(tab, creativeScreen);
|
||||
lastTab = tab;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void onSwitchCreativeTab(CreativeModeTab tab, CreativeModeInventoryScreen screen) {
|
||||
if(tab == ModCreativeTabs.MAIN.get()) {
|
||||
this.btnScrollUp.visible = true;
|
||||
this.btnScrollDown.visible = true;
|
||||
this.btnEnableAll.visible = true;
|
||||
this.btnDisableAll.visible = true;
|
||||
this.updateTagButtons();
|
||||
this.updateItems(screen);
|
||||
} else {
|
||||
this.btnScrollUp.visible = false;
|
||||
this.btnScrollDown.visible = false;
|
||||
this.btnEnableAll.visible = false;
|
||||
this.btnDisableAll.visible = false;
|
||||
this.buttons.forEach(button -> button.visible = false);
|
||||
}
|
||||
}
|
||||
|
||||
private List<TagButton> createTagButtons() {
|
||||
List<TagButton> tagButtons = new ArrayList<>();
|
||||
for(TagFilter filter : this.filters) {
|
||||
TagButton tagButton = new TagButton(this.guiCenterX - 28, this.guiCenterY, filter, button -> {
|
||||
Screen screen = Minecraft.getInstance().screen;
|
||||
if(screen instanceof CreativeModeInventoryScreen creativeScreen) {
|
||||
this.updateItems(creativeScreen);
|
||||
}
|
||||
});
|
||||
tagButton.visible = false;
|
||||
tagButtons.add(tagButton);
|
||||
}
|
||||
return tagButtons;
|
||||
}
|
||||
|
||||
private void updateTagButtons() {
|
||||
this.buttons.forEach(button -> button.visible = false);
|
||||
for(int i = startIndex; i < startIndex + 4 && i < this.buttons.size(); i++) {
|
||||
TagButton button = this.buttons.get(i);
|
||||
button.setY(this.guiCenterY + 29 * (i - startIndex) + 11);
|
||||
button.visible = true;
|
||||
}
|
||||
this.btnScrollUp.active = startIndex > 0;
|
||||
this.btnScrollDown.active = startIndex <= this.filters.size() - 4 - 1;
|
||||
}
|
||||
|
||||
private void updateItems(CreativeModeInventoryScreen screen) {
|
||||
CreativeModeInventoryScreen.ItemPickerMenu menu = screen.getMenu();
|
||||
LinkedHashSet<Item> categorisedItems = new LinkedHashSet<>();
|
||||
for(TagFilter filter : this.filters) {
|
||||
if(filter.isEnabled()) {
|
||||
categorisedItems.addAll(filter.getItems());
|
||||
}
|
||||
}
|
||||
|
||||
NonNullList<ItemStack> newItems = NonNullList.create();
|
||||
for(Item item : categorisedItems) {
|
||||
if(item instanceof CreativeItem creativeItem) {
|
||||
creativeItem.fill(newItems::add);
|
||||
} else {
|
||||
newItems.add(new ItemStack(item));
|
||||
}
|
||||
}
|
||||
|
||||
menu.items.clear();
|
||||
menu.items.addAll(newItems);
|
||||
menu.items.sort(Comparator.comparingInt(o -> Item.getId(o.getItem())));
|
||||
menu.scrollTo(0);
|
||||
}
|
||||
|
||||
private void compileItems() {
|
||||
TagFilter[] filters = new TagFilter[] {
|
||||
new TagFilter(ModTags.Items.GENERAL, new ItemStack(CustomBlocks.BLOCK_INSET_LIGHT.get())),
|
||||
new TagFilter(ModTags.Items.KITCHEN, new ItemStack(CustomBlocks.BLOCK_MICROWAVE.get())),
|
||||
new TagFilter(ModTags.Items.BEDCHAMBER, new ItemStack(CustomBlocks.BLOCK_BIRCH_NIGHT_STAND.get())),
|
||||
new TagFilter(ModTags.Items.BATHROOM, new ItemStack(CustomBlocks.BLOCK_BATHTUB.get())),
|
||||
new TagFilter(ModTags.Items.LOUNGE, new ItemStack(CustomBlocks.BLOCK_COFFEE_MUG.get())),
|
||||
new TagFilter(ModTags.Items.OUTSIDE, new ItemStack(CustomBlocks.BLOCK_HEDGE.get())),
|
||||
new TagFilter(ModTags.Items.TOOL, new ItemStack(CustomBlocks.ITEM_HANDGUN.get())),
|
||||
new TagFilter(ModTags.Items.SEAT, new ItemStack(CustomBlocks.BLOCK_PINK_SOFA.get())),
|
||||
new TagFilter(ModTags.Items.TABLE, new ItemStack(CustomBlocks.BLOCK_BIRCH_ROUND_TABLE.get())),
|
||||
new TagFilter(ModTags.Items.SHELF, new ItemStack(CustomBlocks.BLOCK_MODERN_BIRCH_BOOKSHELF.get())),
|
||||
new TagFilter(ModTags.Items.DOOR, new ItemStack(CustomBlocks.BLOCK_JAIL_DOOR.get()))
|
||||
};
|
||||
|
||||
ForgeRegistries.ITEMS.getValues().stream()
|
||||
.filter(item -> {
|
||||
String namespace = Objects.requireNonNull(ForgeRegistries.ITEMS.getKey(item)).getNamespace();
|
||||
return namespace.equals(ModernLifePatch.MOD_ID) || namespace.equals(ModernLife.MODID);
|
||||
})
|
||||
.forEach(item -> {
|
||||
ForgeRegistries.ITEMS.getHolder(item).ifPresent(holder -> {
|
||||
holder.tags().forEach(tagKey -> {
|
||||
for(TagFilter filter : filters) {
|
||||
if(tagKey == filter.getTag()) {
|
||||
filter.add(item);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
this.filters = new ArrayList<>();
|
||||
this.filters.addAll(Arrays.asList(filters));
|
||||
}
|
||||
|
||||
/**
|
||||
* Author: MrCrayfish
|
||||
*/
|
||||
public static class TagFilter {
|
||||
private final List<Item> items = Lists.newArrayList();
|
||||
private final TagKey<Item> tag;
|
||||
private final Component name;
|
||||
private final ItemStack icon;
|
||||
private boolean enabled = true;
|
||||
|
||||
public TagFilter(TagKey<Item> tag, ItemStack icon) {
|
||||
this.tag = tag;
|
||||
this.name = Component.translatable(String.format("gui.tag_filter.%s.%s", tag.location().getNamespace(), tag.location().getPath().replace("/", ".")));
|
||||
this.icon = icon;
|
||||
}
|
||||
|
||||
public TagKey<Item> getTag() {
|
||||
return tag;
|
||||
}
|
||||
|
||||
public ItemStack getIcon() {
|
||||
return this.icon;
|
||||
}
|
||||
|
||||
public Component getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public void setEnabled(boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
return this.enabled;
|
||||
}
|
||||
|
||||
public void add(Item item) {
|
||||
this.items.add(item);
|
||||
}
|
||||
|
||||
public void add(Block block) {
|
||||
this.items.add(Item.byBlock(block));
|
||||
}
|
||||
|
||||
public List<Item> getItems() {
|
||||
return this.items;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
package com.r3944realms.modernlifepatch.client.gui.widget.button;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.components.Button;
|
||||
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipPositioner;
|
||||
import net.minecraft.client.gui.screens.inventory.tooltip.DefaultTooltipPositioner;
|
||||
import net.minecraft.network.chat.CommonComponents;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* Author: MrCrayfish
|
||||
*/
|
||||
public class IconButton extends Button {
|
||||
private ResourceLocation iconResource ;
|
||||
private int iconU;
|
||||
private int iconV;
|
||||
public IconButton(int x, int y, OnPress onpress, ResourceLocation iconResource, int iconU, int iconV) {
|
||||
super(x, y, 20, 20, CommonComponents.EMPTY, onpress, DEFAULT_NARRATION);
|
||||
this.iconResource = iconResource;
|
||||
this.iconU = iconU;
|
||||
this.iconV = iconV;
|
||||
}
|
||||
public void setIcon(ResourceLocation iconResource, int iconU, int iconV) {
|
||||
this.iconResource = iconResource;
|
||||
this.iconU = iconU;
|
||||
this.iconV = iconV;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void renderWidget(@NotNull GuiGraphics pGuiGraphics, int pMouseX, int pMouseY, float pPartialTick) {
|
||||
super.renderWidget(pGuiGraphics, pMouseX, pMouseY, pPartialTick);
|
||||
if(!this.active) {
|
||||
RenderSystem.setShaderColor(0.5F, 0.5F, 0.5F, 1.0F);
|
||||
}
|
||||
pGuiGraphics.blit(this.iconResource, this.getX() + 2, this.getY() + 2, this.iconU, this.iconV, 16, 16);
|
||||
}
|
||||
@Override
|
||||
protected @NotNull ClientTooltipPositioner createTooltipPositioner() {
|
||||
return DefaultTooltipPositioner.INSTANCE;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
package com.r3944realms.modernlifepatch.client.gui.widget.button;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.*;
|
||||
import com.r3944realms.modernlifepatch.client.event.CreativeScreenEvents;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.components.Button;
|
||||
import net.minecraft.client.gui.components.Tooltip;
|
||||
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipPositioner;
|
||||
import net.minecraft.client.gui.screens.inventory.tooltip.DefaultTooltipPositioner;
|
||||
import net.minecraft.client.renderer.GameRenderer;
|
||||
import net.minecraft.network.chat.CommonComponents;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.joml.Matrix4f;
|
||||
|
||||
/**
|
||||
* Author: MrCrayfish
|
||||
*/
|
||||
public class TagButton extends Button {
|
||||
private static final ResourceLocation TABS = new ResourceLocation("textures/gui/container/creative_inventory/tabs.png");
|
||||
private final CreativeScreenEvents.TagFilter category;
|
||||
private final ItemStack stack;
|
||||
private boolean toggled;
|
||||
public TagButton(int x, int y, CreativeScreenEvents.TagFilter category, OnPress onPress) {
|
||||
super(x, y, 32, 26, CommonComponents.EMPTY, onPress, DEFAULT_NARRATION);
|
||||
this.category = category;
|
||||
this.stack = category.getIcon();
|
||||
this.toggled = category.isEnabled();
|
||||
this.setTooltip(Tooltip.create(category.getName()));
|
||||
}
|
||||
public CreativeScreenEvents.TagFilter getCategory() {
|
||||
return this.category;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPress() {
|
||||
this.toggled = !this.toggled;
|
||||
this.category.setEnabled(this.toggled);
|
||||
super.onPress();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderWidget(GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) {
|
||||
int width = this.toggled ? 32 : 28;
|
||||
int textureX = 26;
|
||||
int textureY = this.toggled ? 32 : 0;
|
||||
RenderSystem.setShaderTexture(0, TABS);
|
||||
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, this.alpha);
|
||||
this.drawRotatedTexture(graphics.pose().last().pose(), this.getX(), this.getY(), textureX, textureY, width, 26);
|
||||
graphics.renderItem(this.stack, this.getX() + 8, this.getY() + 5);
|
||||
}
|
||||
|
||||
private void drawRotatedTexture(Matrix4f matrix4f, int x, int y, int textureX, int textureY, int width, int height) {
|
||||
float scaleX = 0.00390625F;
|
||||
float scaleY = 0.00390625F;
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexShader);
|
||||
BufferBuilder builder = Tesselator.getInstance().getBuilder();
|
||||
builder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX);
|
||||
builder.vertex(matrix4f, x, y + height, 0.0F).uv(((float) (textureX + height) * scaleX), ((float) (textureY) * scaleY)).endVertex();
|
||||
builder.vertex(matrix4f, x + width, y + height, 0.0F).uv(((float) (textureX + height) * scaleX), ((float) (textureY + width) * scaleY)).endVertex();
|
||||
builder.vertex(matrix4f, x + width, y, 0.0F).uv(((float) (textureX) * scaleX), ((float) (textureY + width) * scaleY)).endVertex();
|
||||
builder.vertex(matrix4f, x, y, 0.0F).uv(((float) (textureX) * scaleX), ((float) (textureY) * scaleY)).endVertex();
|
||||
BufferUploader.drawWithShader(builder.end());
|
||||
}
|
||||
|
||||
public void updateState() {
|
||||
this.toggled = this.category.isEnabled();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected @NotNull ClientTooltipPositioner createTooltipPositioner() {
|
||||
return DefaultTooltipPositioner.INSTANCE;
|
||||
}
|
||||
}
|
||||
|
|
@ -14,8 +14,10 @@ import net.minecraftforge.registries.DeferredRegister;
|
|||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class ModBlocks {
|
||||
public static final DeferredRegister<Block> BLOCKS
|
||||
private static final DeferredRegister<Block> BLOCKS
|
||||
= DeferredRegister.create(ForgeRegistries.BLOCKS, ModernLifePatch.MOD_ID);
|
||||
public static final RegistryObject<MirrorBlock> MIRROR = BLOCKS.register("mirror",
|
||||
() -> new MirrorBlock(BlockBehaviour.Properties.copy(Blocks.GLASS), MirrorPart.MirrorType.COMMON_MIRROR));
|
||||
|
|
@ -27,7 +29,10 @@ public class ModBlocks {
|
|||
() -> new MirrorBlock(BlockBehaviour.Properties.copy(Blocks.GLASS), MirrorPart.MirrorType.MASSIVE_MIRROR));
|
||||
@SuppressWarnings("UnusedReturnValue")
|
||||
public static <T extends Block> RegistryObject<BlockItem> registerBlockItem(String name , RegistryObject<T> block){
|
||||
return ModItems.ITEMS.register(name,() -> new BlockItem(block.get(),new Item.Properties()));
|
||||
return ModItems.register(name,() -> new BlockItem(block.get(),new Item.Properties()));
|
||||
}
|
||||
public static Collection<RegistryObject<Block>> getEntries() {
|
||||
return BLOCKS.getEntries();
|
||||
}
|
||||
public static void register(IEventBus bus) {
|
||||
BLOCKS.register(bus);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import net.minecraftforge.registries.RegistryObject;
|
|||
import java.util.Set;
|
||||
|
||||
public class ModBlockEntityType {
|
||||
public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITY_TYPE
|
||||
private static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITY_TYPE
|
||||
= DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, ModernLifePatch.MOD_ID);
|
||||
@SuppressWarnings("DataFlowIssue")
|
||||
public static final RegistryObject<BlockEntityType<MirrorBlockEntity>> MIRROR
|
||||
|
|
|
|||
|
|
@ -24,15 +24,12 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
|||
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import net.minecraft.world.level.material.Fluids;
|
||||
import net.minecraft.world.level.storage.loot.LootContext;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.shapes.CollisionContext;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class MirrorBlock extends HorizontalDirectionalBlock implements EntityBlock, SimpleWaterloggedBlock {
|
||||
public static final EnumProperty<MirrorPart> PART = ModBlockStateProperties.MIRROR_PART;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
package com.r3944realms.modernlifepatch.content.item;
|
||||
|
||||
import com.dairymoose.modernlife.core.CustomBlocks;
|
||||
import com.r3944realms.modernlifepatch.ModernLifePatch;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import com.r3944realms.modernlifepatch.modInterface.CreativeItem;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
public class ModCreativeTabs {
|
||||
private static final DeferredRegister<CreativeModeTab> CREATIVE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, ModernLifePatch.MOD_ID);
|
||||
public static final RegistryObject<CreativeModeTab> MAIN = CREATIVE_TABS.register("creative_tab", () -> CreativeModeTab.builder()
|
||||
.title(Component.translatable(ModLangKeyValue.CREATIVE_TAB_NAME.getKey()))
|
||||
.icon(() -> ModernLifePatch.isModernLifeLoaded ? CustomBlocks.ITEM_CAMERA.get().getDefaultInstance() : Blocks.BARRIER.asItem().getDefaultInstance())
|
||||
.displayItems((pParameters, pOutput)->{
|
||||
ModItems.getEntries().forEach(itemRegistryObject -> {
|
||||
Item item = itemRegistryObject.get();
|
||||
if (item instanceof CreativeItem creativeItem) {
|
||||
creativeItem.fill(pOutput::accept);
|
||||
return;
|
||||
}
|
||||
pOutput.accept(item);
|
||||
});
|
||||
})
|
||||
.build());
|
||||
public static void register(IEventBus bus) {
|
||||
CREATIVE_TABS.register(bus);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -9,14 +9,24 @@ import net.minecraftforge.registries.DeferredRegister;
|
|||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class ModItems {
|
||||
public static final DeferredRegister<Item> ITEMS
|
||||
private static final DeferredRegister<Item> ITEMS
|
||||
= DeferredRegister.create(ForgeRegistries.ITEMS, ModernLifePatch.MOD_ID);
|
||||
public static final RegistryObject<BlockItem> MIRROR_ITEM = ModBlocks.registerBlockItem("mirror", ModBlocks.MIRROR);
|
||||
public static final RegistryObject<BlockItem> TALL_MIRROR_ITEM = ModBlocks.registerBlockItem("tall_mirror", ModBlocks.TALL_MIRROR);
|
||||
public static final RegistryObject<BlockItem> LARGE_MIRROR_ITEM = ModBlocks.registerBlockItem("large_mirror", ModBlocks.LARGE_MIRROR);
|
||||
public static final RegistryObject<BlockItem> MASSIVE_MIRROR_ITEM = ModBlocks.registerBlockItem("massive_mirror", ModBlocks.MASSIVE_MIRROR);
|
||||
public static RegistryObject<BlockItem> register(String name, Supplier<? extends BlockItem> sup) {
|
||||
return ITEMS.register(name, sup);
|
||||
}
|
||||
public static Collection<RegistryObject<Item>> getEntries() {
|
||||
return ITEMS.getEntries();
|
||||
}
|
||||
public static void register(IEventBus bus) {
|
||||
ITEMS.register(bus);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.r3944realms.modernlifepatch.datagen;
|
||||
|
||||
import com.r3944realms.modernlifepatch.datagen.provider.*;
|
||||
import com.r3944realms.modernlifepatch.utils.Enum.LanguageEnum;
|
||||
import net.minecraft.core.HolderLookup;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.PackOutput;
|
||||
|
|
@ -8,7 +9,6 @@ import net.minecraftforge.common.data.ExistingFileHelper;
|
|||
import net.minecraftforge.data.event.GatherDataEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import com.r3944realms.modernlifepatch.utils.Enum.LanguageEnum;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,12 @@ public enum ModLangKeyValue {
|
|||
PAWN(getCustomTextKey("chess", ModernLifePatch.MOD_ID, "pawn"), "Pawn", "士兵"),
|
||||
BISHOP(getCustomTextKey("chess", ModernLifePatch.MOD_ID, "bishop"), "Bishop", "象"),
|
||||
ROOK(getCustomTextKey("chess", ModernLifePatch.MOD_ID, "rook"), "Rook", "车"),
|
||||
|
||||
ALARM_SOUND_TYPE0(getCustomTextKey("alarm_sound_type", ModernLifePatch.MOD_ID, "silent_alarm"), "Silent Alarm", "静音警报"),
|
||||
ALARM_SOUND_TYPE1(getCustomTextKey("alarm_sound_type", ModernLifePatch.MOD_ID, "alarm1"), "Silent Alarm", "静音警报"),
|
||||
ALARM_SOUND_TYPE2(getCustomTextKey("alarm_sound_type", ModernLifePatch.MOD_ID, "alarm2"), "Alarm 1", "警报1"),
|
||||
ALARM_SOUND_TYPE3(getCustomTextKey("alarm_sound_type", ModernLifePatch.MOD_ID, "alarm3"), "Alarm 2", "警报2"),
|
||||
ALARM_SOUND_TYPE4(getCustomTextKey("alarm_sound_type", ModernLifePatch.MOD_ID, "alarm4"), "Alarm 3", "警报3"),
|
||||
ALARM_SOUND_TYPE5(getCustomTextKey("alarm_sound_type", ModernLifePatch.MOD_ID, "alarm5"), "Alarm 4", "警报4"),
|
||||
MOD_RESOURCE_NAME(getResourceTextKey(ModernLifePatch.MOD_ID, "modern_life_patch"), "§b§lModern Life §fExclusive Materials", "§b§l摩登生活 §f专属材质"),
|
||||
MOD_RESOURCE_DESC(getCustomTextKey("resource_pack", ModernLifePatch.MOD_ID ,"description"), "All of textures and models are created by BF_Meow_,Do not use for other purposes without permission.", "所有材质和模型均由 白帆小喵BF_Meow_ 绘制。未经允许,请勿用作他用。"),
|
||||
|
||||
|
|
@ -94,10 +99,13 @@ public enum ModLangKeyValue {
|
|||
MOTORBOAT_HOVER_FIRST(getHoverTextKey("motorboat", "1"), "Right click to deploy", "右键放置"),
|
||||
MOTORBOAT_HOVER_SECOND(getHoverTextKey("motorboat", "2"), "Remaining fuel: %f%%","燃料剩余量: %f%%"),
|
||||
MOTORBOAT_HOVER_THIRD(getHoverTextKey("motorboat", "3"), "Refuel by using a gas can on the deployed boat", "对船使用汽油罐来加油"),
|
||||
ROAD_MARKER_FIRST(getHoverTextKey("road_marker", "1"), "* Right click paved road to apply currently selected road marker", "* 右键单击已铺设的道路以应用当前选定的道路标记"),
|
||||
ROAD_MARKER_SECOND(getHoverTextKey("road_marker", "2"), "* Right click elsewhere to toggle between available road markers", "* 右键单击其他位置以在可用道路标记之间切换"),
|
||||
ROAD_MARKER_HOVER_FIRST(getHoverTextKey("road_marker", "1"), "* Right click paved road to apply currently selected road marker", "* 右键单击已铺设的道路以应用当前选定的道路标记"),
|
||||
ROAD_MARKER_HOVER_SECOND(getHoverTextKey("road_marker", "2"), "* Right click elsewhere to toggle between available road markers", "* 右键单击其他位置以在可用道路标记之间切换"),
|
||||
WARNING_ALARM_HOVER_FIRST(getHoverTextKey("camera", "1"), "Sounds an alarm when powered by redstone;", "红石充能时发出警报"),
|
||||
WARNING_ALARM_HOVER_SECOND(getHoverTextKey("camera", "2"), "right-click with empty mainhand to change alarm sound", "主手空手右击以改变警报声音"),
|
||||
//P
|
||||
NEED_RED_STONE_POWER_HOVER(getHoverTextKey("need_rs_power"), "Requires redstone power to operate", "需要红石充能"),
|
||||
NEED_RED_STONE_POWER_TURN_ON_HOVER(getHoverTextKey("need_rs_power_turn_on"), "Requires redstone power to turn on", "需要红石充能才能开启"),
|
||||
NEED_RED_STONE_POWER_TURN_OFF_HOVER(getHoverTextKey("need_rs_power_turn_off"), "Requires redstone power to turn off", "需要红石充能才能关闭"),
|
||||
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", "允许水与物品自由地穿过"),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.r3944realms.modernlifepatch.datagen.provider;
|
||||
|
||||
import com.r3944realms.modernlifepatch.ModernLifePatch;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.datagen.provider;
|
|||
import com.r3944realms.modernlifepatch.ModernLifePatch;
|
||||
import net.minecraft.core.HolderLookup;
|
||||
import net.minecraft.data.PackOutput;
|
||||
|
||||
import net.minecraftforge.common.data.BlockTagsProvider;
|
||||
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ package com.r3944realms.modernlifepatch.datagen.provider;
|
|||
|
||||
import com.r3944realms.modernlifepatch.ModernLifePatch;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import com.r3944realms.modernlifepatch.utils.Enum.LanguageEnum;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraftforge.common.data.LanguageProvider;
|
||||
import com.r3944realms.modernlifepatch.utils.Enum.LanguageEnum;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
|
|||
|
|
@ -2,15 +2,12 @@ package com.r3944realms.modernlifepatch.datagen.provider.loot;
|
|||
|
||||
import com.r3944realms.modernlifepatch.content.blocks.ModBlocks;
|
||||
import net.minecraft.data.loot.BlockLootSubProvider;
|
||||
import net.minecraft.world.flag.FeatureFlagSet;
|
||||
import net.minecraft.world.flag.FeatureFlags;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class ModBlockLootTables extends BlockLootSubProvider {
|
||||
|
||||
|
|
@ -29,6 +26,6 @@ public class ModBlockLootTables extends BlockLootSubProvider {
|
|||
|
||||
@Override
|
||||
protected @NotNull Iterable<Block> getKnownBlocks() {
|
||||
return ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get)::iterator;
|
||||
return ModBlocks.getEntries().stream().map(RegistryObject::get)::iterator;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class MLPMixinPlugin implements IMixinConfigPlugin {
|
|||
|
||||
@Override
|
||||
public String getRefMapperConfig() {
|
||||
return "";
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -30,7 +30,7 @@ public class MLPMixinPlugin implements IMixinConfigPlugin {
|
|||
|
||||
@Override
|
||||
public List<String> getMixins() {
|
||||
return List.of();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ 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.world.MenuProvider;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.block.common;
|
|||
import com.dairymoose.modernlife.blocks.ModernBookshelfBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.block.common;
|
|||
import com.dairymoose.modernlife.blocks.CeilingFanBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
@ -18,7 +17,7 @@ import java.util.List;
|
|||
public class MixinCeilingFan {
|
||||
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
|
||||
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_HOVER.getKey()));
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_TURN_ON_HOVER.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.block.common;
|
|||
import com.dairymoose.modernlife.blocks.ChessBoardBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
package com.r3944realms.modernlifepatch.mixin.block.common;
|
||||
|
||||
import com.dairymoose.modernlife.blocks.InvertedLightBulbBlock;
|
||||
import com.dairymoose.modernlife.blocks.LightBulbBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.ToIntFunction;
|
||||
|
||||
@Mixin(InvertedLightBulbBlock.class)
|
||||
public class MixinInvertedLightBulb extends LightBulbBlock {
|
||||
public MixinInvertedLightBulb(Properties props, ToIntFunction<BlockState> lightLevelFn, StatePredicate emissiveRenderFn) {
|
||||
super(props, lightLevelFn, emissiveRenderFn);
|
||||
}
|
||||
@Inject(method = "appendHoverText", at = @At("HEAD"), cancellable = true)
|
||||
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_TURN_OFF_HOVER.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package com.r3944realms.modernlifepatch.mixin.block.common;
|
||||
|
||||
import com.dairymoose.modernlife.blocks.InvertedTileLightBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
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(InvertedTileLightBlock.class)
|
||||
public class MixinInvertedTileLight {
|
||||
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
|
||||
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_TURN_OFF_HOVER.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
@ -63,7 +62,7 @@ public class MixinLightBulb extends FaceAttachedHorizontalDirectionalBlock {
|
|||
}
|
||||
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
|
||||
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_HOVER.getKey()));
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_TURN_ON_HOVER.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.block.common;
|
|||
import com.dairymoose.modernlife.blocks.PavedRoadBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ 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.world.MenuProvider;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ 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.world.MenuProvider;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import com.dairymoose.modernlife.tileentities.SeedSpreaderBlockEntity;
|
|||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.MenuProvider;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
@ -34,7 +33,7 @@ public class MixinTileLight {
|
|||
}
|
||||
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
|
||||
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_HOVER.getKey()));
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_TURN_ON_HOVER.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ 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.world.MenuProvider;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.block.common;
|
|||
import com.dairymoose.modernlife.blocks.WallShelfBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
package com.r3944realms.modernlifepatch.mixin.block.common;
|
||||
|
||||
import com.dairymoose.modernlife.blocks.LightBulbBlock;
|
||||
import com.dairymoose.modernlife.blocks.WarningAlarmBlock;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
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.EntityBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
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;
|
||||
import java.util.function.ToIntFunction;
|
||||
|
||||
import static com.dairymoose.modernlife.blocks.WarningAlarmBlock.ALARM_TYPE;
|
||||
|
||||
@Mixin(WarningAlarmBlock.class)
|
||||
public abstract class MixinWarningAlarm extends LightBulbBlock implements EntityBlock {
|
||||
|
||||
public MixinWarningAlarm(Properties props, ToIntFunction<BlockState> lightLevelFn, StatePredicate emissiveRenderFn) {
|
||||
super(props, lightLevelFn, emissiveRenderFn);
|
||||
}
|
||||
@Inject(method = "appendHoverText", at = @At("HEAD"), cancellable = true)
|
||||
public void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
|
||||
list.add(Component.translatable(ModLangKeyValue.WARNING_ALARM_HOVER_FIRST.getKey()));
|
||||
list.add(Component.translatable(ModLangKeyValue.WARNING_ALARM_HOVER_SECOND.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
|
||||
/**
|
||||
* @author R3944Realms
|
||||
* @reason i18n
|
||||
*/
|
||||
@Overwrite
|
||||
public InteractionResult use(@NotNull BlockState pState, Level pLevel, @NotNull BlockPos pPos, @NotNull Player pPlayer, @NotNull InteractionHand pHand, @NotNull BlockHitResult pHit) {
|
||||
if (!pLevel.isClientSide && pHand == InteractionHand.MAIN_HAND && pPlayer.getItemInHand(pHand).isEmpty()) {
|
||||
BlockState newAlarmType = pState.cycle(ALARM_TYPE);
|
||||
pLevel.setBlock(pPos, newAlarmType, 3);
|
||||
switch (newAlarmType.getValue(ALARM_TYPE)) {
|
||||
case 0 -> pPlayer.sendSystemMessage(Component.translatable(ModLangKeyValue.ALARM_SOUND_TYPE0.getKey()));
|
||||
case 1 -> pPlayer.sendSystemMessage(Component.translatable(ModLangKeyValue.ALARM_SOUND_TYPE1.getKey()));
|
||||
case 2 -> pPlayer.sendSystemMessage(Component.translatable(ModLangKeyValue.ALARM_SOUND_TYPE2.getKey()));
|
||||
case 3 -> pPlayer.sendSystemMessage(Component.translatable(ModLangKeyValue.ALARM_SOUND_TYPE3.getKey()));
|
||||
case 4 -> pPlayer.sendSystemMessage(Component.translatable(ModLangKeyValue.ALARM_SOUND_TYPE4.getKey()));
|
||||
case 5 -> pPlayer.sendSystemMessage(Component.translatable(ModLangKeyValue.ALARM_SOUND_TYPE5.getKey()));
|
||||
}
|
||||
}
|
||||
|
||||
return super.use(pState, pLevel, pPos, pPlayer, pHand, pHit);
|
||||
}
|
||||
}
|
||||
|
|
@ -8,7 +8,6 @@ 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;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import com.dairymoose.modernlife.tileentities.SeedSpreaderBlockEntity;
|
|||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.MenuProvider;
|
||||
import net.minecraft.world.entity.player.Inventory;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ 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.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
|
|
@ -76,7 +75,7 @@ public abstract class MixinWinch extends FaceAttachedHorizontalDirectionalBlock
|
|||
}
|
||||
@Inject(method = {"appendHoverText"}, at = @At("HEAD"), cancellable = true)
|
||||
private void appendHoverText(ItemStack itemStack, BlockGetter blockReader, List<Component> list, TooltipFlag tooltipFlag, CallbackInfo ci) {
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_HOVER.getKey()));
|
||||
list.add(Component.translatable(ModLangKeyValue.NEED_RED_STONE_POWER_TURN_ON_HOVER.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.BatteryItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.BicycleItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
|||
import net.minecraft.nbt.ListTag;
|
||||
import net.minecraft.nbt.Tag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.ChainsawItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.FlashlightItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.GuitarItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.HandgunItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.MotorboatItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package com.r3944realms.modernlifepatch.mixin.item;
|
|||
import com.dairymoose.modernlife.items.RoadMarkerItem;
|
||||
import com.r3944realms.modernlifepatch.datagen.lang.ModLangKeyValue;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
|
@ -18,8 +17,8 @@ import java.util.List;
|
|||
public class MixinRoadMarker {
|
||||
@Inject(method = {"appendHoverText"}, at= @At("HEAD"), cancellable = true)
|
||||
public void appendHoverText(ItemStack itemStack, Level world, List<Component> text, TooltipFlag flag, CallbackInfo ci) {
|
||||
text.add(Component.translatable(ModLangKeyValue.ROAD_MARKER_FIRST.getKey()));
|
||||
text.add(Component.translatable(ModLangKeyValue.ROAD_MARKER_SECOND.getKey()));
|
||||
text.add(Component.translatable(ModLangKeyValue.ROAD_MARKER_HOVER_FIRST.getKey()));
|
||||
text.add(Component.translatable(ModLangKeyValue.ROAD_MARKER_HOVER_SECOND.getKey()));
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
package com.r3944realms.modernlifepatch.mixin.screen;
|
||||
|
||||
import com.dairymoose.modernlife.blocks.gui.chess.*;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.network.chat.Component;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ 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 org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyArg;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ 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 org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyArg;
|
||||
|
|
|
|||
2
src/main/resources/META-INF/accesstransformer.cfg
Normal file
2
src/main/resources/META-INF/accesstransformer.cfg
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#private -> public
|
||||
public net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen f_98507_ # selectedTab
|
||||
|
|
@ -42,7 +42,9 @@ authors="${mod_authors}" #optional
|
|||
#displayTest="MATCH_VERSION" # MATCH_VERSION is the default if nothing is specified (#optional)
|
||||
|
||||
# The description text for the mod (multi line!) (#mandatory)
|
||||
description='''${mod_description}'''
|
||||
description='''${mod_description}
|
||||
因为原作者的美工槽点太多,而做的一个补丁。
|
||||
'''
|
||||
# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
|
||||
[[dependencies.${mod_id}]] #optional
|
||||
# the modid of the dependency
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"modernlife:warning_alarm",
|
||||
"modernlife:monitor",
|
||||
"modernlife:dual_monitor",
|
||||
"modernlife:steam_radiator",
|
||||
|
|
@ -13,6 +14,8 @@
|
|||
"modernlife:metal_duct",
|
||||
"modernlife:glass_panel",
|
||||
"modernlife:tile_light",
|
||||
"modernlife:inverted_tile_light",
|
||||
"modernlife:inverted_light_bulb",
|
||||
"modernlife:beige_ceramic_tile",
|
||||
"modernlife:white_ceramic_tile",
|
||||
"modernlife:brown_ceramic_tile",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"modernlife:grass_ramp",
|
||||
"modernlife:end_stone_ramp",
|
||||
"modernlife:cobblestone_ramp",
|
||||
"modernlife:stone_ramp",
|
||||
"modernlife:stone_bricks_ramp",
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@
|
|||
"block.common.MixinEasel",
|
||||
"block.common.MixinFlatScreenTV",
|
||||
"block.common.MixinGuitarAmplifier",
|
||||
"block.common.MixinInvertedLightBulb",
|
||||
"block.common.MixinInvertedTileLight",
|
||||
"block.common.MixinLightBulb",
|
||||
"block.common.MixinMetalDuct",
|
||||
"block.common.MixinMetalGrate",
|
||||
|
|
@ -32,6 +34,7 @@
|
|||
"block.common.MixinTrashCan",
|
||||
"block.common.MixinWallShelf",
|
||||
"block.common.MixinWallSocket",
|
||||
"block.common.MixinWarningAlarm",
|
||||
"block.kitchen.MixinKitchenCabinet",
|
||||
"block.kitchen.MixinKitchenDrawerCabinet",
|
||||
"block.kitchen.MixinKitchenSink",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/acacia_barrier",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/acacia_barrier",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/acacia_barrier",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/acacia_barrier",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/acacia_chair",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/acacia_chair",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/acacia_chair",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/acacia_chair",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"variants": {
|
||||
"type=single": {
|
||||
"model": "modernlife:block/acacia_coffee_table"
|
||||
},
|
||||
"type=mid": {
|
||||
"model": "modernlife:block/acacia_coffee_table_mid"
|
||||
},
|
||||
"type=s_end": {
|
||||
"model": "modernlife:block/acacia_coffee_table_end",
|
||||
"y" : 0
|
||||
},
|
||||
"type=w_end": {
|
||||
"model": "modernlife:block/acacia_coffee_table_end",
|
||||
"y" : 90,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=n_end": {
|
||||
"model": "modernlife:block/acacia_coffee_table_end",
|
||||
"y" : 180
|
||||
},
|
||||
"type=e_end": {
|
||||
"model": "modernlife:block/acacia_coffee_table_end",
|
||||
"y" : 270,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=se_corner": {
|
||||
"model": "modernlife:block/acacia_coffee_table_corner",
|
||||
"y" : 270,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=sw_corner": {
|
||||
"model": "modernlife:block/acacia_coffee_table_corner",
|
||||
"y" : 0
|
||||
},
|
||||
"type=nw_corner": {
|
||||
"model": "modernlife:block/acacia_coffee_table_corner",
|
||||
"y" : 90,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=ne_corner": {
|
||||
"model": "modernlife:block/acacia_coffee_table_corner",
|
||||
"y" : 180,
|
||||
"uvlock": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"variants": {
|
||||
"support=false": {
|
||||
"model": "modernlife:block/acacia_deck"
|
||||
},
|
||||
"support=true": {
|
||||
"model": "modernlife:block/acacia_deck_support"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom"
|
||||
},
|
||||
"facing=east,half=lower,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=lower,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge"
|
||||
},
|
||||
"facing=east,half=lower,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=east,half=upper,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top"
|
||||
},
|
||||
"facing=east,half=upper,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east,half=upper,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge"
|
||||
},
|
||||
"facing=east,half=upper,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=lower,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=lower,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge"
|
||||
},
|
||||
"facing=north,half=lower,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=lower,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=north,half=upper,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=upper,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge"
|
||||
},
|
||||
"facing=north,half=upper,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north,half=upper,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=lower,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=lower,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=lower,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=lower,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom"
|
||||
},
|
||||
"facing=south,half=upper,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=upper,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south,half=upper,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge",
|
||||
"y": 90
|
||||
},
|
||||
"facing=south,half=upper,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top"
|
||||
},
|
||||
"facing=west,half=lower,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=lower,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom_hinge",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=lower,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_bottom",
|
||||
"y": 90
|
||||
},
|
||||
"facing=west,half=upper,hinge=left,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper,hinge=left,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge",
|
||||
"y": 270
|
||||
},
|
||||
"facing=west,half=upper,hinge=right,open=false": {
|
||||
"model": "modernlife:block/acacia_glass_door_top_hinge",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west,half=upper,hinge=right,open=true": {
|
||||
"model": "modernlife:block/acacia_glass_door_top",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/acacia_kitchen_cabinet",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/acacia_kitchen_cabinet",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/acacia_kitchen_cabinet",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/acacia_kitchen_cabinet",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/acacia_kitchen_drawer_cabinet",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/acacia_kitchen_drawer_cabinet",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/acacia_kitchen_drawer_cabinet",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/acacia_kitchen_drawer_cabinet",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp_corner",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp_corner",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp_corner",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_log_ramp_corner",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"part": "corner"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"variants": {
|
||||
"extended=false": {
|
||||
"model": "modernlife:block/acacia_mini_stool"
|
||||
},
|
||||
"extended=true": {
|
||||
"model": "modernlife:block/acacia_stool"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/acacia_night_stand",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/acacia_night_stand",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/acacia_night_stand",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/acacia_night_stand",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"half": "back"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table_front",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"half": "front"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"half": "back"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table_front",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"half": "front"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"half": "back"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table_front",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"half": "front"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"half": "back"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_picnic_table_front",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"half": "front"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/acacia_planks_ramp",
|
||||
"y": 270
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/acacia_planks_ramp",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/acacia_planks_ramp",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/acacia_planks_ramp",
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp_corner",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp_corner",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp_corner",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_ramp_corner",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"part": "corner"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_round_table",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "north"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_round_table",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "south"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_round_table",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "east"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/acacia_round_table",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "west"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"variants": {
|
||||
"type=single": {
|
||||
"model": "modernlife:block/acacia_small_table"
|
||||
},
|
||||
"type=mid": {
|
||||
"model": "modernlife:block/acacia_small_table_mid"
|
||||
},
|
||||
"type=s_end": {
|
||||
"model": "modernlife:block/acacia_small_table_end",
|
||||
"y" : 0
|
||||
},
|
||||
"type=w_end": {
|
||||
"model": "modernlife:block/acacia_small_table_end",
|
||||
"y" : 90,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=n_end": {
|
||||
"model": "modernlife:block/acacia_small_table_end",
|
||||
"y" : 180
|
||||
},
|
||||
"type=e_end": {
|
||||
"model": "modernlife:block/acacia_small_table_end",
|
||||
"y" : 270,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=se_corner": {
|
||||
"model": "modernlife:block/acacia_small_table_corner",
|
||||
"y" : 270,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=sw_corner": {
|
||||
"model": "modernlife:block/acacia_small_table_corner",
|
||||
"y" : 0
|
||||
},
|
||||
"type=nw_corner": {
|
||||
"model": "modernlife:block/acacia_small_table_corner",
|
||||
"y" : 90,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=ne_corner": {
|
||||
"model": "modernlife:block/acacia_small_table_corner",
|
||||
"y" : 180,
|
||||
"uvlock": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/acacia_wall_shelf",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/acacia_wall_shelf",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/acacia_wall_shelf",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/acacia_wall_shelf",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/air_conditioner",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/air_conditioner",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/air_conditioner",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/air_conditioner",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/alarm_clock",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/alarm_clock",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/alarm_clock",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/alarm_clock",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/andesite_barrier",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/andesite_barrier",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/andesite_barrier",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/andesite_barrier",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/andesite_kitchen_cabinet",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/andesite_kitchen_cabinet",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/andesite_kitchen_cabinet",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/andesite_kitchen_cabinet",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/andesite_kitchen_drawer_cabinet",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/andesite_kitchen_drawer_cabinet",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/andesite_kitchen_drawer_cabinet",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/andesite_kitchen_drawer_cabinet",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp_corner",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp_corner",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp_corner",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"part": "corner"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"part": "straight"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/andesite_ramp_corner",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"part": "corner"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/arrow_slit",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/arrow_slit",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/arrow_slit",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/arrow_slit",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/basalt_ramp",
|
||||
"y": 270
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/basalt_ramp",
|
||||
"y": 90
|
||||
},
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/basalt_ramp",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/basalt_ramp",
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "modernlife:block/bathroom_ceramic_tile"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,180 @@
|
|||
{
|
||||
"multipart": [
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"half": "back",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far_waterlogged",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"half": "back",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"half": "front",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near_waterlogged",
|
||||
"y": 270
|
||||
},
|
||||
"when": {
|
||||
"facing": "north",
|
||||
"half": "front",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"half": "back",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far_waterlogged",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"half": "back",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"half": "front",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near_waterlogged",
|
||||
"y": 0
|
||||
},
|
||||
"when": {
|
||||
"facing": "east",
|
||||
"half": "front",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"half": "back",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far_waterlogged",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"half": "back",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"half": "front",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near_waterlogged",
|
||||
"y": 90
|
||||
},
|
||||
"when": {
|
||||
"facing": "south",
|
||||
"half": "front",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"half": "back",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_far_waterlogged",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"half": "back",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"half": "front",
|
||||
"waterlogged": "false"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apply": {
|
||||
"model": "modernlife:block/bathtub_near_waterlogged",
|
||||
"y": 180
|
||||
},
|
||||
"when": {
|
||||
"facing": "west",
|
||||
"half": "front",
|
||||
"waterlogged": "true"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "modernlife:block/beige_ceramic_tile"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/birch_barrier",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/birch_barrier",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/birch_barrier",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/birch_barrier",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "modernlife:block/birch_chair",
|
||||
"y": 270
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "modernlife:block/birch_chair",
|
||||
"y": 180
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "modernlife:block/birch_chair",
|
||||
"y": 0
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "modernlife:block/birch_chair",
|
||||
"y": 90
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"variants": {
|
||||
"type=single": {
|
||||
"model": "modernlife:block/birch_coffee_table"
|
||||
},
|
||||
"type=mid": {
|
||||
"model": "modernlife:block/birch_coffee_table_mid"
|
||||
},
|
||||
"type=s_end": {
|
||||
"model": "modernlife:block/birch_coffee_table_end",
|
||||
"y" : 0
|
||||
},
|
||||
"type=w_end": {
|
||||
"model": "modernlife:block/birch_coffee_table_end",
|
||||
"y" : 90,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=n_end": {
|
||||
"model": "modernlife:block/birch_coffee_table_end",
|
||||
"y" : 180
|
||||
},
|
||||
"type=e_end": {
|
||||
"model": "modernlife:block/birch_coffee_table_end",
|
||||
"y" : 270,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=se_corner": {
|
||||
"model": "modernlife:block/birch_coffee_table_corner",
|
||||
"y" : 270,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=sw_corner": {
|
||||
"model": "modernlife:block/birch_coffee_table_corner",
|
||||
"y" : 0
|
||||
},
|
||||
"type=nw_corner": {
|
||||
"model": "modernlife:block/birch_coffee_table_corner",
|
||||
"y" : 90,
|
||||
"uvlock": true
|
||||
},
|
||||
"type=ne_corner": {
|
||||
"model": "modernlife:block/birch_coffee_table_corner",
|
||||
"y" : 180,
|
||||
"uvlock": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"variants": {
|
||||
"support=false": {
|
||||
"model": "modernlife:block/birch_deck"
|
||||
},
|
||||
"support=true": {
|
||||
"model": "modernlife:block/birch_deck_support"
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user