diff --git a/1.12/Makefile b/1.12/Makefile index e0fbd14..46da679 100644 --- a/1.12/Makefile +++ b/1.12/Makefile @@ -12,23 +12,20 @@ MOD_JAR=$(filter-out %-sources.jar,$(wildcard build/libs/${MOD_JAR_PREFIX}*.jar) ifeq ($(OS),Windows_NT) GRADLE=gradlew.bat --no-daemon GRADLE_STOP=gradlew.bat --stop -INSTALL_DIR=$(realpath ${APPDATA}/.minecraft) -SERVER_INSTALL_DIR=$(realpath ${APPDATA}/minecraft-server-forge-1.12.2-14.23.5.2768) DJS=djs else GRADLE=./gradlew --no-daemon GRADLE_STOP=./gradlew --stop -INSTALL_DIR=~/.minecraft -SERVER_INSTALL_DIR=~/.minecraft-server-forge-1.12.2-14.23.5.2768 DJS=djs endif +TASK=$(DJS) ../meta/lib/tasks.js wildcardr=$(foreach d,$(wildcard $1*),$(call wildcardr,$d/,$2) $(filter $(subst *,%,$2),$d)) # # Targets # -.PHONY: default mod init clean clean-all mrproper all run install sanatize dist-check dist dist-files start-server port-languages +.PHONY: default mod init clean clean-all mrproper all run install sanitize dist-check dist dist-files start-server default: mod @@ -65,42 +62,28 @@ run: @echo "[1.12] Running client ..." @$(GRADLE) runClient -install: $(MOD_JAR) | - @sleep 2s - @if [ ! -d "$(INSTALL_DIR)" ]; then echo "Cannot find installation minecraft directory."; false; fi - @echo "[1.12] Installing '$(MOD_JAR)' to '$(INSTALL_DIR)/mods' ..." - @[ -d "$(INSTALL_DIR)/mods" ] || mkdir "$(INSTALL_DIR)/mods" - @rm -f "$(INSTALL_DIR)/mods/${MOD_JAR_PREFIX}"*.jar - @cp -f "$(MOD_JAR)" "$(INSTALL_DIR)/mods/" - @echo "[1.12] Installing '$(MOD_JAR)' to '$(SERVER_INSTALL_DIR)/mods' ..." - @rm -f "$(SERVER_INSTALL_DIR)/mods/${MOD_JAR_PREFIX}"*.jar - @[ -d "$(SERVER_INSTALL_DIR)/mods" ] && cp -f "$(MOD_JAR)" "$(SERVER_INSTALL_DIR)/mods/" - -start-server: - -@make -s install - @echo "[1.12] Starting local dedicated server ..." - @cd "$(SERVER_INSTALL_DIR)" && java -jar forge-1.12.2-14.23.5.2768-universal.jar nogui - -sanatize: +sanitize: @echo "[1.12] Running sanatising tasks ..." - @djs tasks.js sanatize - @djs tasks.js sync-languages - @djs tasks.js version-check - @djs tasks.js update-json + @$(TASK) sanitize + @$(TASK) sync-languages + @$(TASK) version-check + @$(TASK) update-json @git status -s . +install: $(MOD_JAR) | + @$(TASK) install + +start-server: install + @$(TASK) start-server + dist-check: @echo "[1.12] Running dist checks ..." - @djs tasks.js dist-check + @$(TASK) dist-check dist-files: clean-all init mod @echo "[1.12] Distribution files ..." @mkdir -p dist @cp build/libs/$(MOD_JAR_PREFIX)* dist/ - @djs tasks.js dist + @$(TASK) dist -dist: sanatize dist-check dist-files - -port-languages: - @echo "[1.12] Porting language files to 1.14 ..." - @djs tasks.js port-languages +dist: sanitize dist-check dist-files diff --git a/1.12/meta/update.json b/1.12/meta/update.json index 353a725..2931722 100644 --- a/1.12/meta/update.json +++ b/1.12/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.12.2": { + "1.1.0-b1": "[F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace).\n[M] Changed Labeled Crate Nesting to circumvent server crashing in combination with the Sponge mod.", "1.0.20": "[R] Release based on v1.0.20-b6. Release-to-release changes: * Manual back ported. * Steel Mesh Fence Gate back ported. * E-Furnace speed selection switch back ported. * Labeled Crate back ported. * Minor bug fixes, compatibility changes.", "1.0.20-b6": "[F] Implemented compat related to issue #91.", "1.0.20-b5": "[A] Back-ported Patchouli based Manual (you need to install Vazkii_'s Patchouli, too).\n[A] Back-ported Steel Mesh Fence Gate.\n[M] Minor back-porting compatibility refractoring.", @@ -89,6 +90,6 @@ }, "promos": { "1.12.2-recommended": "1.0.20", - "1.12.2-latest": "1.0.20" + "1.12.2-latest": "1.1.0-b1" } } \ No newline at end of file diff --git a/1.12/readme.md b/1.12/readme.md index 0723974..d4943a9 100644 --- a/1.12/readme.md +++ b/1.12/readme.md @@ -10,7 +10,9 @@ Mod sources for Minecraft version 1.12.2. ---- ## Version history - ~ v1.1.0-b1 [M] + - v1.1.0-b1 [F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace). + [M] Changed Labeled Crate Nesting to circumvent server crashing + in combination with the Sponge mod. ------------------------------------------------------------------- - v1.0.20 [R] Release based on v1.0.20-b6. Release-to-release changes: diff --git a/1.12/src/main/java/wile/engineersdecor/ModContent.java b/1.12/src/main/java/wile/engineersdecor/ModContent.java index 443d531..3d76dd0 100644 --- a/1.12/src/main/java/wile/engineersdecor/ModContent.java +++ b/1.12/src/main/java/wile/engineersdecor/ModContent.java @@ -212,7 +212,7 @@ public class ModContent ModAuxiliaries.getPixeledAABB(0,0,0, 16,16,16) ); - public static final BlockDecorLabeledCrate.DecorLabeledCrateBlock LABELED_CRATE = new BlockDecorLabeledCrate.DecorLabeledCrateBlock( + public static final BlockDecorLabeledCrate LABELED_CRATE = new BlockDecorLabeledCrate( "labeled_crate", BlockDecor.CFG_CUTOUT|BlockDecor.CFG_HORIZIONTAL|BlockDecor.CFG_LOOK_PLACEMENT|BlockDecor.CFG_OPPOSITE_PLACEMENT, Material.WOOD, 0.5f, 128f, SoundType.METAL, diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFurnaceElectrical.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFurnaceElectrical.java index 101ac40..a26f314 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFurnaceElectrical.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorFurnaceElectrical.java @@ -9,10 +9,8 @@ package wile.engineersdecor.blocks; -import net.minecraft.init.Blocks; import wile.engineersdecor.ModContent; import wile.engineersdecor.ModEngineersDecor; - import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; @@ -32,6 +30,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import net.minecraft.util.*; import net.minecraft.stats.StatList; +import net.minecraft.init.Blocks; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.energy.CapabilityEnergy; import net.minecraftforge.energy.IEnergyStorage; @@ -316,7 +315,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace public static final int HEAT_INCREMENT = 20; public static final int MAX_ENERGY_TRANSFER = 256; public static final int MAX_ENERGY_BUFFER = 32000; - public static final int MAX_SPEED_SETTING = 2; + public static final int MAX_SPEED_SETTING = 3; public static final int NUM_OF_SLOTS = 7; public static final int SMELTING_INPUT_SLOT_NO = 0; public static final int SMELTING_AUX_SLOT_NO = 1; @@ -382,7 +381,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace proc_time_needed_ = compound.getInteger("CookTimeTotal"); energy_stored_ = compound.getInteger("Energy"); speed_ = compound.getInteger("SpeedSetting"); - speed_ = (speed_ < 0) ? (1) : ((speed_>3) ? 3 : speed_); + speed_ = (speed_ < 0) ? (1) : ((speed_>MAX_SPEED_SETTING) ? MAX_SPEED_SETTING : speed_); } protected void writenbt(NBTTagCompound compound) @@ -391,7 +390,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace compound.setInteger("CookTime", MathHelper.clamp(proc_time_elapsed_, 0, MAX_BURNTIME)); compound.setInteger("CookTimeTotal", MathHelper.clamp(proc_time_needed_, 0, MAX_BURNTIME)); compound.setInteger("Energy", MathHelper.clamp(energy_stored_,0 , MAX_ENERGY_BUFFER)); - compound.setInteger("SpeedSetting", MathHelper.clamp(speed_, -1, MAX_SPEED_SETTING)); + compound.setInteger("SpeedSetting", MathHelper.clamp(speed_, 0, MAX_SPEED_SETTING)); ItemStackHelper.saveAllItems(compound, stacks_); } @@ -655,7 +654,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace @Override public void onClientPacketReceived(EntityPlayer player, NBTTagCompound nbt) { - if(nbt.hasKey("speed")) speed_ = MathHelper.clamp(nbt.getInteger("speed"), 0, 3); + if(nbt.hasKey("speed")) speed_ = MathHelper.clamp(nbt.getInteger("speed"), 0, MAX_SPEED_SETTING); markDirty(); } @@ -761,7 +760,7 @@ public class BlockDecorFurnaceElectrical extends BlockDecorFurnace } final ItemStack last_inp_stack = current_smelting_input_stack_; current_smelting_input_stack_ = stacks_.get(SMELTING_INPUT_SLOT_NO); - if((!current_smelting_input_stack_.isEmpty()) && (enabled_) && (speed_>0) && (speed_<4)) { + if((!current_smelting_input_stack_.isEmpty()) && (enabled_) && (speed_>0) && (speed_<=MAX_SPEED_SETTING)) { if(!current_smelting_input_stack_.isItemEqual(current_smelting_input_stack_)) { proc_time_elapsed_ = 0; proc_time_needed_ = getCookTime(current_smelting_input_stack_); diff --git a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLabeledCrate.java b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLabeledCrate.java index 9a2f912..e171d00 100644 --- a/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLabeledCrate.java +++ b/1.12/src/main/java/wile/engineersdecor/blocks/BlockDecorLabeledCrate.java @@ -8,6 +8,7 @@ */ package wile.engineersdecor.blocks; +import wile.engineersdecor.ModEngineersDecor; import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; @@ -40,13 +41,12 @@ import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.ItemHandlerHelper; -import wile.engineersdecor.ModEngineersDecor; import javax.annotation.Nonnull; import javax.annotation.Nullable; -public class BlockDecorLabeledCrate +public class BlockDecorLabeledCrate extends BlockDecorDirectedHorizontal { public static void on_config(int stack_limit) { @@ -56,94 +56,129 @@ public class BlockDecorLabeledCrate // Block //-------------------------------------------------------------------------------------------------------------------- - public static class DecorLabeledCrateBlock extends BlockDecorDirectedHorizontal + public BlockDecorLabeledCrate(@Nonnull String registryName, long config, @Nullable Material material, float hardness, float resistance, @Nullable SoundType sound, @Nonnull AxisAlignedBB unrotatedAABB) + { super(registryName, config, material, hardness, resistance, sound, unrotatedAABB); } + + @Override + public boolean hasTileEntity(IBlockState state) + { return true; } + + @Override + @Nullable + public TileEntity createTileEntity(World world, IBlockState state) + { return new LabeledCrateTileEntity(); } + + @Override + public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { - public DecorLabeledCrateBlock(@Nonnull String registryName, long config, @Nullable Material material, float hardness, float resistance, @Nullable SoundType sound, @Nonnull AxisAlignedBB unrotatedAABB) - { super(registryName, config, material, hardness, resistance, sound, unrotatedAABB); } + if(world.isRemote) return true; + player.openGui(ModEngineersDecor.instance, ModEngineersDecor.GuiHandler.GUIID_LABELED_CRATE, world, pos.getX(), pos.getY(), pos.getZ()); + return true; + } - @Override - public boolean hasTileEntity(IBlockState state) - { return true; } + @Override + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) + { + if(world.isRemote) return; + if((!stack.hasTagCompound()) || (!stack.getTagCompound().hasKey("inventory"))) return; + NBTTagCompound inventory_nbt = stack.getTagCompound().getCompoundTag("inventory"); + if(inventory_nbt.isEmpty()) return; + final TileEntity te = world.getTileEntity(pos); + if(!(te instanceof LabeledCrateTileEntity)) return; + ((LabeledCrateTileEntity)te).readnbt(inventory_nbt); + ((LabeledCrateTileEntity)te).markDirty(); + } - @Override - @Nullable - public TileEntity createTileEntity(World world, IBlockState state) - { return new LabeledCrateTileEntity(); } + private ItemStack itemize_with_inventory(World world, BlockPos pos) + { + TileEntity te = world.getTileEntity(pos); + if(!(te instanceof LabeledCrateTileEntity)) return ItemStack.EMPTY; + ItemStack stack = new ItemStack(this, 1); + NBTTagCompound inventory_nbt = new NBTTagCompound(); + ItemStackHelper.saveAllItems(inventory_nbt, ((LabeledCrateTileEntity)te).stacks_, false); + if(!inventory_nbt.isEmpty()) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setTag("inventory", inventory_nbt); + stack.setTagCompound(nbt); + } + return stack; + } - @Override - public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) + @Override + public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) + { + if(world.isRemote) return true; + final ItemStack stack = itemize_with_inventory(world, pos); + if(stack != ItemStack.EMPTY) { + world.spawnEntity(new EntityItem(world, pos.getX()+0.5, pos.getY()+0.5, pos.getZ()+0.5, stack)); + world.setBlockToAir(pos); + world.removeTileEntity(pos); + return false; + } else { + return super.removedByPlayer(state, world, pos, player, willHarvest); + } + } + + @Override + public void onBlockExploded(World world, BlockPos pos, Explosion explosion) + { + if(world.isRemote) return; + TileEntity te = world.getTileEntity(pos); + if(!(te instanceof LabeledCrateTileEntity)) return; + for(ItemStack stack: ((LabeledCrateTileEntity)te).stacks_) { + if(!stack.isEmpty()) world.spawnEntity(new EntityItem(world, pos.getX(), pos.getY(), pos.getZ(), stack)); + } + ((LabeledCrateTileEntity)te).reset(); + super.onBlockExploded(world, pos, explosion); + } + + @Override + @SuppressWarnings("deprecation") + public boolean hasComparatorInputOverride(IBlockState state) + { return true; } + + @Override + @SuppressWarnings("deprecation") + public int getComparatorInputOverride(IBlockState blockState, World world, BlockPos pos) + { return Container.calcRedstone(world.getTileEntity(pos)); } + + //-------------------------------------------------------------------------------------------------------------------- + // GUI + //-------------------------------------------------------------------------------------------------------------------- + + @SideOnly(Side.CLIENT) + private static class BGui extends GuiContainer + { + private final LabeledCrateTileEntity te; + + public BGui(InventoryPlayer playerInventory, World world, BlockPos pos, LabeledCrateTileEntity te) { - if(world.isRemote) return true; - player.openGui(ModEngineersDecor.instance, ModEngineersDecor.GuiHandler.GUIID_LABELED_CRATE, world, pos.getX(), pos.getY(), pos.getZ()); - return true; + super(new BContainer(playerInventory, world, pos, te)); + this.te = te; + xSize = 213; + ySize = 206; } @Override - public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) - { - if(world.isRemote) return; - if((!stack.hasTagCompound()) || (!stack.getTagCompound().hasKey("inventory"))) return; - NBTTagCompound inventory_nbt = stack.getTagCompound().getCompoundTag("inventory"); - if(inventory_nbt.isEmpty()) return; - final TileEntity te = world.getTileEntity(pos); - if(!(te instanceof LabeledCrateTileEntity)) return; - ((LabeledCrateTileEntity)te).readnbt(inventory_nbt); - ((LabeledCrateTileEntity)te).markDirty(); - } + public void initGui() + { super.initGui(); } - private ItemStack itemize_with_inventory(World world, BlockPos pos) + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { - TileEntity te = world.getTileEntity(pos); - if(!(te instanceof LabeledCrateTileEntity)) return ItemStack.EMPTY; - ItemStack stack = new ItemStack(this, 1); - NBTTagCompound inventory_nbt = new NBTTagCompound(); - ItemStackHelper.saveAllItems(inventory_nbt, ((LabeledCrateTileEntity)te).stacks_, false); - if(!inventory_nbt.isEmpty()) { - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setTag("inventory", inventory_nbt); - stack.setTagCompound(nbt); - } - return stack; + drawDefaultBackground(); + super.drawScreen(mouseX, mouseY, partialTicks); + renderHoveredToolTip(mouseX, mouseY); } @Override - public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) + protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { - if(world.isRemote) return true; - final ItemStack stack = itemize_with_inventory(world, pos); - if(stack != ItemStack.EMPTY) { - world.spawnEntity(new EntityItem(world, pos.getX()+0.5, pos.getY()+0.5, pos.getZ()+0.5, stack)); - world.setBlockToAir(pos); - world.removeTileEntity(pos); - return false; - } else { - return super.removedByPlayer(state, world, pos, player, willHarvest); - } + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + mc.getTextureManager().bindTexture(new ResourceLocation(ModEngineersDecor.MODID, "textures/gui/labeled_crate_gui.png")); + final int x0=guiLeft, y0=guiTop, w=xSize, h=ySize; + drawTexturedModalRect(x0, y0, 0, 0, w, h); } - - @Override - public void onBlockExploded(World world, BlockPos pos, Explosion explosion) - { - if(world.isRemote) return; - TileEntity te = world.getTileEntity(pos); - if(!(te instanceof LabeledCrateTileEntity)) return; - for(ItemStack stack: ((LabeledCrateTileEntity)te).stacks_) { - if(!stack.isEmpty()) world.spawnEntity(new EntityItem(world, pos.getX(), pos.getY(), pos.getZ(), stack)); - } - ((LabeledCrateTileEntity)te).reset(); - super.onBlockExploded(world, pos, explosion); - } - - @Override - @SuppressWarnings("deprecation") - public boolean hasComparatorInputOverride(IBlockState state) - { return true; } - - @Override - @SuppressWarnings("deprecation") - public int getComparatorInputOverride(IBlockState blockState, World world, BlockPos pos) - { return Container.calcRedstone(world.getTileEntity(pos)); } - } //-------------------------------------------------------------------------------------------------------------------- @@ -184,7 +219,7 @@ public class BlockDecorLabeledCrate @Override public boolean shouldRefresh(World world, BlockPos pos, IBlockState os, IBlockState ns) - { return (os.getBlock()!=ns.getBlock())||(!(ns.getBlock() instanceof DecorLabeledCrateBlock));} + { return (os.getBlock()!=ns.getBlock())||(!(ns.getBlock() instanceof BlockDecorLabeledCrate));} @Override public void readFromNBT(NBTTagCompound compound) @@ -445,45 +480,6 @@ public class BlockDecorLabeledCrate } } - //-------------------------------------------------------------------------------------------------------------------- - // GUI - //-------------------------------------------------------------------------------------------------------------------- - - @SideOnly(Side.CLIENT) - private static class BGui extends GuiContainer - { - private final LabeledCrateTileEntity te; - - public BGui(InventoryPlayer playerInventory, World world, BlockPos pos, LabeledCrateTileEntity te) - { - super(new BContainer(playerInventory, world, pos, te)); - this.te = te; - xSize = 213; - ySize = 206; - } - - @Override - public void initGui() - { super.initGui(); } - - @Override - public void drawScreen(int mouseX, int mouseY, float partialTicks) - { - drawDefaultBackground(); - super.drawScreen(mouseX, mouseY, partialTicks); - renderHoveredToolTip(mouseX, mouseY); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) - { - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - mc.getTextureManager().bindTexture(new ResourceLocation(ModEngineersDecor.MODID, "textures/gui/labeled_crate_gui.png")); - final int x0=guiLeft, y0=guiTop, w=xSize, h=ySize; - drawTexturedModalRect(x0, y0, 0, 0, w, h); - } - } - //-------------------------------------------------------------------------------------------------------------------- // Container //-------------------------------------------------------------------------------------------------------------------- @@ -542,7 +538,7 @@ public class BlockDecorLabeledCrate @Override public boolean canInteractWith(EntityPlayer player) - { return (world.getBlockState(pos).getBlock() instanceof DecorLabeledCrateBlock) && (player.getDistanceSq(pos) <= 64); } + { return (world.getBlockState(pos).getBlock() instanceof BlockDecorLabeledCrate) && (player.getDistanceSq(pos) <= 64); } @Override public boolean canMergeSlot(ItemStack stack, Slot slot) diff --git a/1.12/src/main/java/wile/engineersdecor/detail/ModTesrs.java b/1.12/src/main/java/wile/engineersdecor/detail/ModTesrs.java index 439355a..10112cf 100644 --- a/1.12/src/main/java/wile/engineersdecor/detail/ModTesrs.java +++ b/1.12/src/main/java/wile/engineersdecor/detail/ModTesrs.java @@ -28,7 +28,6 @@ import net.minecraft.util.math.MathHelper; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import wile.engineersdecor.blocks.BlockDecorLabeledCrate; -import wile.engineersdecor.blocks.BlockDecorLabeledCrate.DecorLabeledCrateBlock; import wile.engineersdecor.blocks.BlockDecorTest; public class ModTesrs @@ -114,7 +113,7 @@ public class ModTesrs try { final ItemStack stack = te.getItemFrameStack(); if(stack.isEmpty()) return; - final int di = MathHelper.clamp(te.getWorld().getBlockState(te.getPos()).getValue(DecorLabeledCrateBlock.FACING).getHorizontalIndex(), 0, 3); + final int di = MathHelper.clamp(te.getWorld().getBlockState(te.getPos()).getValue(BlockDecorLabeledCrate.FACING).getHorizontalIndex(), 0, 3); double ox = tr[di][0], oy = tr[di][1], oz = tr[di][2], ry = tr[di][3]; GlStateManager.pushMatrix(); GlStateManager.disableLighting(); diff --git a/1.12/tasks.js b/1.12/tasks.js deleted file mode 100644 index 62c5253..0000000 --- a/1.12/tasks.js +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/djs -// Note for reviewers/clones: This file is a auxiliary script for my setup. It's not needed to build the mod. -"use strict"; -const constants = include("../meta/lib/constants.js")(); -const libtask = include("../meta/lib/libtask.js")(constants); -const liblang = include("../meta/lib/liblang.1.12.js")(constants); -const liblang13 = include("../meta/lib/liblang.1.13.js")(constants); -const liblang14 = include("../meta/lib/liblang.1.13.js")(constants); -var tasks = {}; - -tasks["sync-languages"] = function() { - liblang.sync_languages(); -}; - -tasks["port-languages"] = function() { - fs.find("src/main/resources/assets/"+ constants.mod_registry_name() +"/lang", '*.lang', function(path){ - const unified = liblang.load(path); - path = path.replace(/\.lang$/,""); - liblang13.save("../1.13/"+path+".json", unified); - liblang14.save("../1.14/"+path+".json", unified); - return false; - }); -}; - -libtask.run(tasks, sys.args); diff --git a/1.14/Makefile b/1.14/Makefile index 9e0fea3..31b803d 100644 --- a/1.14/Makefile +++ b/1.14/Makefile @@ -18,13 +18,14 @@ GRADLE=./gradlew --no-daemon GRADLE_STOP=./gradlew --stop DJS=djs endif +TASK=$(DJS) ../meta/lib/tasks.js wildcardr=$(foreach d,$(wildcard $1*),$(call wildcardr,$d/,$2) $(filter $(subst *,%,$2),$d)) # # Targets # -.PHONY: default mod data init clean clean-all mrproper all run install sanatize dist-check dist start-server assets +.PHONY: default mod data init clean clean-all mrproper all run install sanitize dist-check dist start-server assets default: mod @@ -34,9 +35,13 @@ mod: @echo "[1.14] Building mod using gradle ..." @$(GRADLE) build $(GRADLE_OPTS) +assets: + @echo "[1.14] Running asset generators ..." + @$(TASK) assets + data: @echo "[1.14] Running data generators ..." - @djs tasks.js datagen + @$(TASK) datagen clean: @echo "[1.14] Cleaning ..." @@ -64,28 +69,28 @@ init: @echo "[1.14] Initialising eclipse workspace using gradle ..." @$(GRADLE) eclipse -sanatize: +sanitize: @echo "[1.14] Running sanatising tasks ..." - @djs tasks.js sanatize - @djs tasks.js sync-languages - @djs tasks.js version-check - @djs tasks.js update-json + @$(TASK) sanitize + @$(TASK) sync-languages + @$(TASK) version-check + @$(TASK) update-json @git status -s . +install: $(MOD_JAR) | + @$(TASK) install + +start-server: install + @$(TASK) start-server + dist-check: @echo "[1.14] Running dist checks ..." - @djs tasks.js dist-check + @$(TASK) dist-check dist-files: clean-all init data mod @echo "[1.14] Distribution files ..." @mkdir -p dist @cp build/libs/$(MOD_JAR_PREFIX)* dist/ - @djs tasks.js dist + @$(TASK) dist -dist: sanatize dist-check dist-files - -assets: - @echo "[1.14] Running asset generators ..." - @djs tasks.js create-slab-assets - @djs tasks.js create-half-slab-assets - @djs tasks.js assets +dist: sanitize dist-check dist-files diff --git a/1.14/meta/update.json b/1.14/meta/update.json index bca2a83..2be7c45 100644 --- a/1.14/meta/update.json +++ b/1.14/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.14.4": { + "1.1.0-b1": "[F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace).\n[A] Sheet Metal Slab Slices added (only available if IE is installed).\n[M] Config options extended/updated.\n[M] Dense Grit Sand textures altered to get slightly more visible structure from distance.", "1.0.20-b7": "[A] Dense Grit Sand added.\n[!] Variant Slab compatibility fix. *This may alter placed slabs of this mod, data fixers don't work yet unfortunately*.", "1.0.20-b6": "[M] Slab Slice placement improved.\n[M] Quite some naming/refractoring under the hood.", "1.0.20-b5": "[A] Electrical Furnace can draw in smelting input items from an adjacent inventory when a Hopper is placed in the auxiliary slot.\n[M] Wrapped Labeled Crate label slot to prevent sorting mods from altering the label.", @@ -56,6 +57,6 @@ }, "promos": { "1.14.4-recommended": "", - "1.14.4-latest": "1.0.20-b7" + "1.14.4-latest": "1.1.0-b1" } } \ No newline at end of file diff --git a/1.14/readme.md b/1.14/readme.md index c3f5e60..1a28556 100644 --- a/1.14/readme.md +++ b/1.14/readme.md @@ -11,7 +11,11 @@ Mod sources for Minecraft version 1.14.4. ## Version history - ~ v1.1.0-b1 [M] + - v1.1.0-b1 [F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace). + [A] Sheet Metal Slab Slices added (only available if IE is installed). + [M] Config options extended/updated. + [M] Dense Grit Sand textures altered to get slightly more visible structure + from distance. - v1.0.20-b7 [A] Dense Grit Sand added. [!] Variant Slab compatibility fix. *This may alter placed slabs of this mod, diff --git a/1.14/src/main/java/wile/engineersdecor/ModConfig.java b/1.14/src/main/java/wile/engineersdecor/ModConfig.java index 5aa6e16..a6ad9f6 100644 --- a/1.14/src/main/java/wile/engineersdecor/ModConfig.java +++ b/1.14/src/main/java/wile/engineersdecor/ModConfig.java @@ -12,20 +12,22 @@ package wile.engineersdecor; import wile.engineersdecor.blocks.*; import wile.engineersdecor.libmc.blocks.StandardBlocks; import wile.engineersdecor.libmc.detail.Auxiliaries; -import wile.engineersdecor.libmc.detail.OptionalRecipeCondition; import net.minecraft.nbt.CompoundNBT; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraftforge.common.ForgeConfigSpec; import org.apache.commons.lang3.tuple.Pair; +import org.apache.logging.log4j.Logger; import javax.annotation.Nullable; import java.util.ArrayList; +import java.util.HashSet; public class ModConfig { //-------------------------------------------------------------------------------------------------------------------- - + private static final Logger LOGGER = ModEngineersDecor.logger(); + private static final String MODID = ModEngineersDecor.MODID; public static final CommonConfig COMMON; public static final ServerConfig SERVER; public static final ClientConfig CLIENT; @@ -61,11 +63,11 @@ public class ModConfig builder.comment("Opt-out settings") .push("optout"); without_tooltips = builder - .translation(ModEngineersDecor.MODID + ".config.without_tooltips") + .translation(MODID + ".config.without_tooltips") .comment("Disable CTRL-SHIFT item tooltip display.") .define("without_tooltips", false); without_ters = builder - .translation(ModEngineersDecor.MODID + ".config.without_ters") + .translation(MODID + ".config.without_ters") .comment("Disable all TERs (tile entity renderers).") .define("without_ters", false); } @@ -95,12 +97,14 @@ public class ModConfig public final ForgeConfigSpec.BooleanValue without_clinker_bricks; public final ForgeConfigSpec.BooleanValue without_slag_bricks; public final ForgeConfigSpec.BooleanValue without_rebar_concrete; + public final ForgeConfigSpec.BooleanValue without_gas_concrete; public final ForgeConfigSpec.BooleanValue without_walls; public final ForgeConfigSpec.BooleanValue without_stairs; public final ForgeConfigSpec.BooleanValue without_ie_concrete_wall; public final ForgeConfigSpec.BooleanValue without_panzer_glass; public final ForgeConfigSpec.BooleanValue without_ladders; public final ForgeConfigSpec.BooleanValue without_treated_wood_furniture; + public final ForgeConfigSpec.BooleanValue without_metal_furniture; public final ForgeConfigSpec.BooleanValue without_windows; public final ForgeConfigSpec.BooleanValue without_light_sources; public final ForgeConfigSpec.BooleanValue without_slabs; @@ -124,6 +128,8 @@ public class ModConfig public final ForgeConfigSpec.BooleanValue without_mineral_smelter; public final ForgeConfigSpec.BooleanValue without_milking_machine; public final ForgeConfigSpec.BooleanValue without_tree_cutter; + public final ForgeConfigSpec.BooleanValue without_labeled_crate; + public final ForgeConfigSpec.BooleanValue without_fences; public final ForgeConfigSpec.BooleanValue without_chair_sitting; public final ForgeConfigSpec.BooleanValue without_mob_chair_sitting; public final ForgeConfigSpec.BooleanValue without_ladder_speed_boost; @@ -166,7 +172,7 @@ public class ModConfig builder.comment("Opt-out settings") .push("optout"); pattern_excludes = builder - .translation(ModEngineersDecor.MODID + ".config.pattern_excludes") + .translation(MODID + ".config.pattern_excludes") .comment("Opt-out any block by its registry name ('*' wildcard matching, " + "comma separated list, whitespaces ignored. You must match the whole name, " + "means maybe add '*' also at the begin and end. Example: '*wood*,*steel*' " @@ -174,7 +180,7 @@ public class ModConfig + "The matching result is also traced in the log file. ") .define("pattern_excludes", ""); pattern_includes = builder - .translation(ModEngineersDecor.MODID + ".config.pattern_includes") + .translation(MODID + ".config.pattern_includes") .comment("Prevent blocks from being opt'ed by registry name ('*' wildcard matching, " + "comma separated list, whitespaces ignored. Evaluated before all other opt-out checks. " + "You must match the whole name, means maybe add '*' also at the begin and end. Example: " @@ -182,153 +188,169 @@ public class ModConfig + "The matching result is also traced in the log file.") .define("pattern_includes", ""); without_clinker_bricks = builder - .translation(ModEngineersDecor.MODID + ".config.without_clinker_bricks") + .translation(MODID + ".config.without_clinker_bricks") .comment("Disable clinker bricks and derived blocks.") .define("without_clinker_bricks", false); without_slag_bricks = builder - .translation(ModEngineersDecor.MODID + ".config.without_slag_bricks") + .translation(MODID + ".config.without_slag_bricks") .comment("Disable slag bricks and derived blocks.") .define("without_slag_bricks", false); without_rebar_concrete = builder - .translation(ModEngineersDecor.MODID + ".config.without_rebar_concrete") + .translation(MODID + ".config.without_rebar_concrete") .comment("Disable rebar concrete and derived blocks.") .define("without_rebar_concrete", false); + without_gas_concrete = builder + .translation(MODID + ".config.without_gas_concrete") + .comment("Disable gas concrete and derived blocks.") + .define("without_gas_concrete", false); without_walls = builder - .translation(ModEngineersDecor.MODID + ".config.without_walls") + .translation(MODID + ".config.without_walls") .comment("Disable all mod wall blocks.") .define("without_walls", false); without_stairs = builder - .translation(ModEngineersDecor.MODID + ".config.without_stairs") + .translation(MODID + ".config.without_stairs") .comment("Disable all mod stairs blocks.") .define("without_stairs", false); without_ie_concrete_wall = builder - .translation(ModEngineersDecor.MODID + ".config.without_ie_concrete_wall") + .translation(MODID + ".config.without_ie_concrete_wall") .comment("Disable IE concrete wall.") .define("without_ie_concrete_wall", false); without_panzer_glass = builder - .translation(ModEngineersDecor.MODID + ".config.without_panzer_glass") + .translation(MODID + ".config.without_panzer_glass") .comment("Disable panzer glass and derived blocks.") .define("without_panzer_glass", false); without_crafting_table = builder - .translation(ModEngineersDecor.MODID + ".config.without_crafting_table") + .translation(MODID + ".config.without_crafting_table") .comment("Disable treated wood crafting table.") .define("without_crafting_table", false); without_lab_furnace = builder - .translation(ModEngineersDecor.MODID + ".config.without_lab_furnace") + .translation(MODID + ".config.without_lab_furnace") .comment("Disable small lab furnace.") .define("without_lab_furnace", false); without_electrical_furnace = builder - .translation(ModEngineersDecor.MODID + ".config.without_electrical_furnace") + .translation(MODID + ".config.without_electrical_furnace") .comment("Disable small electrical pass-through furnace.") .define("without_electrical_furnace", false); without_treated_wood_furniture = builder - .translation(ModEngineersDecor.MODID + ".config.without_treated_wood_furniture") + .translation(MODID + ".config.without_treated_wood_furniture") .comment("Disable treated wood table, stool, windowsill, etc.") .define("without_treated_wood_furniture", false); + without_metal_furniture = builder + .translation(MODID + ".config.without_metal_furniture") + .comment("Disable metal tables, etc.") + .define("without_metal_furniture", false); without_windows = builder - .translation(ModEngineersDecor.MODID + ".config.without_windows") + .translation(MODID + ".config.without_windows") .comment("Disable treated wood window, etc.") .define("without_windows", false); without_light_sources = builder - .translation(ModEngineersDecor.MODID + ".config.without_light_sources") + .translation(MODID + ".config.without_light_sources") .comment("Disable light sources") .define("without_light_sources", false); without_ladders = builder - .translation(ModEngineersDecor.MODID + ".config.without_ladders") + .translation(MODID + ".config.without_ladders") .comment("Disable ladders") .define("without_ladders", false); without_chair_sitting = builder - .translation(ModEngineersDecor.MODID + ".config.without_chair_sitting") + .translation(MODID + ".config.without_chair_sitting") .comment("Disable possibility to sit on stools and chairs.") .define("without_chair_sitting", false); without_mob_chair_sitting = builder - .translation(ModEngineersDecor.MODID + ".config.without_mob_chair_sitting") + .translation(MODID + ".config.without_mob_chair_sitting") .comment("Disable that mobs will sit on chairs and stools.") .define("without_mob_chair_sitting", false); without_ladder_speed_boost = builder - .translation(ModEngineersDecor.MODID + ".config.without_ladder_speed_boost") + .translation(MODID + ".config.without_ladder_speed_boost") .comment("Disable the speed boost of ladders in this mod.") .define("without_ladder_speed_boost", false); without_crafting_table_history = builder - .translation(ModEngineersDecor.MODID + ".config.without_crafting_table_history") + .translation(MODID + ".config.without_crafting_table_history") .comment("Disable history refabrication feature of the treated wood crafting table.") .define("without_crafting_table_history", false); without_valves = builder - .translation(ModEngineersDecor.MODID + ".config.without_valves") + .translation(MODID + ".config.without_valves") .comment("Disable check valve, and redstone controlled valves.") .define("without_valves", false); without_passive_fluid_accumulator = builder - .translation(ModEngineersDecor.MODID + ".config.without_passive_fluid_accumulator") + .translation(MODID + ".config.without_passive_fluid_accumulator") .comment("Disable the passive fluid accumulator.") .define("without_passive_fluid_accumulator", false); without_waste_incinerator = builder - .translation(ModEngineersDecor.MODID + ".config.without_waste_incinerator") + .translation(MODID + ".config.without_waste_incinerator") .comment("Disable item disposal/trash/void incinerator device.") .define("without_waste_incinerator", false); without_sign_plates = builder - .translation(ModEngineersDecor.MODID + ".config.without_sign_plates") + .translation(MODID + ".config.without_sign_plates") .comment("Disable decorative sign plates (caution, hazards, etc).") .define("without_sign_plates", false); without_floor_grating = builder - .translation(ModEngineersDecor.MODID + ".config.without_floor_grating") + .translation(MODID + ".config.without_floor_grating") .comment("Disable floor gratings.") .define("without_floor_grating", false); without_factory_dropper = builder - .translation(ModEngineersDecor.MODID + ".config.without_factory_dropper") + .translation(MODID + ".config.without_factory_dropper") .comment("Disable the factory dropper.") .define("without_factory_dropper", false); without_factory_hopper = builder - .translation(ModEngineersDecor.MODID + ".config.without_factory_hopper") + .translation(MODID + ".config.without_factory_hopper") .comment("Disable the factory hopper.") .define("without_factory_hopper", false); without_factory_placer = builder - .translation(ModEngineersDecor.MODID + ".config.without_factory_placer") + .translation(MODID + ".config.without_factory_placer") .comment("Disable the factory placer.") .define("without_factory_placer", false); without_block_breaker = builder - .translation(ModEngineersDecor.MODID + ".config.without_block_breaker") + .translation(MODID + ".config.without_block_breaker") .comment("Disable the small block breaker.") .define("without_block_breaker", false); without_solar_panel = builder - .translation(ModEngineersDecor.MODID + ".config.without_solar_panel") + .translation(MODID + ".config.without_solar_panel") .comment("Disable the small solar panel.") .define("without_solar_panel", false); without_fluid_funnel = builder - .translation(ModEngineersDecor.MODID + ".config.without_fluid_funnel") + .translation(MODID + ".config.without_fluid_funnel") .comment("Disable the small fluid collection funnel.") .define("without_fluid_funnel", false); without_mineral_smelter = builder - .translation(ModEngineersDecor.MODID + ".config.without_mineral_smelter") + .translation(MODID + ".config.without_mineral_smelter") .comment("Disable the small mineral smelter.") .define("without_mineral_smelter", false); without_milking_machine = builder - .translation(ModEngineersDecor.MODID + ".config.without_milking_machine") + .translation(MODID + ".config.without_milking_machine") .comment("Disable the small milking machine.") .define("without_milking_machine", false); without_tree_cutter = builder - .translation(ModEngineersDecor.MODID + ".config.without_tree_cutter") + .translation(MODID + ".config.without_tree_cutter") .comment("Disable the small tree cutter.") .define("without_tree_cutter", false); + without_labeled_crate = builder + .translation(MODID + ".config.without_labeled_crate") + .comment("Disable labeled crate.") + .define("without_labeled_crate", false); without_slabs = builder - .translation(ModEngineersDecor.MODID + ".config.without_slabs") + .translation(MODID + ".config.without_slabs") .comment("Disable horizontal half-block slab.") .define("without_slabs", false); without_halfslabs = builder - .translation(ModEngineersDecor.MODID + ".config.without_halfslabs") + .translation(MODID + ".config.without_halfslabs") .comment("Disable stackable 1/8 block slices.") .define("without_halfslabs", false); without_poles = builder - .translation(ModEngineersDecor.MODID + ".config.without_poles") + .translation(MODID + ".config.without_poles") .comment("Disable poles of any material.") .define("without_poles", false); without_hsupports = builder - .translation(ModEngineersDecor.MODID + ".config.without_hsupports") + .translation(MODID + ".config.without_hsupports") .comment("Disable horizontal supports like the double-T support.") .define("without_hsupports", false); without_recipes = builder - .translation(ModEngineersDecor.MODID + ".config.without_recipes") + .translation(MODID + ".config.without_recipes") .comment("Disable all internal recipes, allowing to use alternative pack recipes.") .define("without_recipes", false); + without_fences = builder + .translation(MODID + ".config.without_fences") + .comment("Disable all fences and fence gates.") + .define("without_fences", false); builder.pop(); } // --- MISC --------------------------------------------------------------- @@ -336,16 +358,16 @@ public class ModConfig builder.comment("Miscellaneous settings") .push("miscellaneous"); with_experimental = builder - .translation(ModEngineersDecor.MODID + ".config.with_experimental") + .translation(MODID + ".config.with_experimental") .comment("Enables experimental features. Use at own risk.") .define("with_experimental", false); without_direct_slab_pickup = builder - .translation(ModEngineersDecor.MODID + ".config.without_direct_slab_pickup") + .translation(MODID + ".config.without_direct_slab_pickup") .comment("Disable directly picking up layers from slabs and slab " + " slices by left clicking while looking up/down.") .define("without_direct_slab_pickup", false); with_creative_mode_device_drops = builder - .translation(ModEngineersDecor.MODID + ".config.with_creative_mode_device_drops") + .translation(MODID + ".config.with_creative_mode_device_drops") .comment("Enable that devices are dropped as item also in creative mode, allowing " + " to relocate them with contents and settings.") .define("with_creative_mode_device_drops", false); @@ -356,130 +378,130 @@ public class ModConfig builder.comment("Tweaks") .push("tweaks"); furnace_smelting_speed_percent = builder - .translation(ModEngineersDecor.MODID + ".config.furnace_smelting_speed_percent") + .translation(MODID + ".config.furnace_smelting_speed_percent") .comment("Defines, in percent, how fast the lab furnace smelts compared to " + "a vanilla furnace. 100% means vanilla furnace speed, 150% means the " + "lab furnace is faster. The value can be changed on-the-fly for tuning.") .defineInRange("furnace_smelting_speed_percent", 130, 50, 800); furnace_fuel_efficiency_percent = builder - .translation(ModEngineersDecor.MODID + ".config.furnace_fuel_efficiency_percent") + .translation(MODID + ".config.furnace_fuel_efficiency_percent") .comment("Defines, in percent, how fuel efficient the lab furnace is, compared " + "to a vanilla furnace. 100% means vanilla furnace consumiton, 200% means " + "the lab furnace needs about half the fuel of a vanilla furnace, " + "The value can be changed on-the-fly for tuning.") .defineInRange("furnace_fuel_efficiency_percent", 100, 50, 400); furnace_boost_energy_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.furnace_boost_energy_consumption") + .translation(MODID + ".config.furnace_boost_energy_consumption") .comment("Defines the energy consumption (per tick) for speeding up the smelting process. " + "If IE is installed, an external heater has to be inserted into an auxiliary slot " + "of the lab furnace. The power source needs to be able to provide at least 4 times " + "this consumption (fixed threshold value). The value can be changed on-the-fly for tuning. " + "The default value corresponds to the IE heater consumption.") - .defineInRange("furnace_boost_energy_consumption", 24, 8, 1024); + .defineInRange("furnace_boost_energy_consumption", 24, 2, 1024); chair_mob_sitting_probability_percent = builder - .translation(ModEngineersDecor.MODID + ".config.chair_mob_sitting_probability_percent") + .translation(MODID + ".config.chair_mob_sitting_probability_percent") .comment("Defines, in percent, how high the probability is that a mob sits on a chair " + "when colliding with it. Can be changed on-the-fly for tuning.") .defineInRange("chair_mob_sitting_probability_percent", 10.0, 0.0, 80.0); chair_mob_standup_probability_percent = builder - .translation(ModEngineersDecor.MODID + ".config.chair_mob_standup_probability_percent") + .translation(MODID + ".config.chair_mob_standup_probability_percent") .comment("Defines, in percent, probable it is that a mob leaves a chair when sitting " + "on it. The 'dice is rolled' about every 20 ticks. There is also a minimum " + "Sitting time of about 3s. The config value can be changed on-the-fly for tuning.") .defineInRange("chair_mob_standup_probability_percent", 1.0, 1e-3, 10.0); with_crafting_quickmove_buttons = builder - .translation(ModEngineersDecor.MODID + ".config.with_crafting_quickmove_buttons") + .translation(MODID + ".config.with_crafting_quickmove_buttons") .comment("Enables small quick-move arrows from/to player/block storage. " + "Makes the UI a bit too busy, therefore disabled by default.") .define("with_crafting_quickmove_buttons", false); without_crafting_mouse_scrolling = builder - .translation(ModEngineersDecor.MODID + ".config.without_crafting_mouse_scrolling") + .translation(MODID + ".config.without_crafting_mouse_scrolling") .comment("Disables increasing/decreasing the crafting grid items by scrolling over the crafting result slot.") .define("without_crafting_mouse_scrolling", false); pipevalve_max_flowrate = builder - .translation(ModEngineersDecor.MODID + ".config.pipevalve_max_flowrate") + .translation(MODID + ".config.pipevalve_max_flowrate") .comment("Defines how many millibuckets can be transferred (per tick) through the valves. " + "That is technically the 'storage size' specified for blocks that want to fill " + "fluids into the valve (the valve has no container and forward that to the output " + "block), The value can be changed on-the-fly for tuning. ") .defineInRange("pipevalve_max_flowrate", 1000, 1, 32000); pipevalve_redstone_gain = builder - .translation(ModEngineersDecor.MODID + ".config.pipevalve_redstone_gain") + .translation(MODID + ".config.pipevalve_redstone_gain") .comment("Defines how many millibuckets per redstone signal strength can be transferred per tick " + "through the analog redstone controlled valves. Note: power 0 is always off, power 15 is always " + "the max flow rate. Between power 1 and 14 this scaler will result in a flow = 'redstone slope' * 'current redstone power'. " + "The value can be changed on-the-fly for tuning. ") .defineInRange("pipevalve_redstone_gain", 20, 1, 32000); e_furnace_speed_percent = builder - .translation(ModEngineersDecor.MODID + ".config.e_furnace_speed_percent") + .translation(MODID + ".config.e_furnace_speed_percent") .comment("Defines, in percent, how fast the electrical furnace smelts compared to " + "a vanilla furnace. 100% means vanilla furnace speed, 150% means the " + "electrical furnace is faster. The value can be changed on-the-fly for tuning.") .defineInRange("e_furnace_speed_percent", EdElectricalFurnace.ElectricalFurnaceTileEntity.DEFAULT_SPEED_PERCENT, 50, 800); e_furnace_power_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.e_furnace_power_consumption") + .translation(MODID + ".config.e_furnace_power_consumption") .comment("Defines how much RF per tick the the electrical furnace consumed (average) for smelting. " + "The feeders transferring items from/to adjacent have this consumption/8 for each stack transaction. " + "The default value is only slightly higher than a furnace with an IE external heater (and no burning fuel inside)." + "The config value can be changed on-the-fly for tuning.") .defineInRange("e_furnace_power_consumption", EdElectricalFurnace.ElectricalFurnaceTileEntity.DEFAULT_ENERGY_CONSUMPTION, 8, 4096); e_furnace_automatic_pulling = builder - .translation(ModEngineersDecor.MODID + ".config.e_furnace_automatic_pulling") + .translation(MODID + ".config.e_furnace_automatic_pulling") .comment("Defines if the electrical furnace automatically pulls items from an inventory at the input side." + "The config value can be changed on-the-fly for tuning.") .define("e_furnace_automatic_pulling", false); small_solar_panel_peak_production = builder - .translation(ModEngineersDecor.MODID + ".config.small_solar_panel_peak_production") + .translation(MODID + ".config.small_solar_panel_peak_production") .comment("Defines the peak power production (at noon) of the Small Solar Panel. " + "Note that the agerage power is much less, as no power is produced at all during the night, " + "and the power curve is nonlinear rising/falling during the day. Bad weather conditions also " + "decrease the production. The config value can be changed on-the-fly for tuning.") .defineInRange("small_solar_panel_peak_production", EdSolarPanel.SolarPanelTileEntity.DEFAULT_PEAK_POWER, 2, 4096); block_breaker_power_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_power_consumption") + .translation(MODID + ".config.block_breaker_power_consumption") .comment("Defines how much RF power the Small Block Breaker requires to magnificently increase the processing speed. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("block_breaker_power_consumption", EdBreaker.BreakerTileEntity.DEFAULT_BOOST_ENERGY, 4, 1024); block_breaker_reluctance = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_reluctance") + .translation(MODID + ".config.block_breaker_reluctance") .comment("Defines how much time the Small Block Breaker needs per block hardness, " + "means: 'reluctance' * hardness + min_time, you change the 'reluctance' here." + "The unit is ticks/hardness. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("block_breaker_reluctance", EdBreaker.BreakerTileEntity.DEFAULT_BREAKING_RELUCTANCE, 5, 50); block_breaker_min_breaking_time = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_min_breaking_time") + .translation(MODID + ".config.block_breaker_min_breaking_time") .comment("Defines how much time the Small Block Breaker needs at least, better said it's an offset: " + "'reluctance' * hardness + min_time, you change the 'min_time' here, value " + "in ticks." + "The config value can be changed on-the-fly for tuning.") .defineInRange("block_breaker_min_breaking_time", EdBreaker.BreakerTileEntity.DEFAULT_MIN_BREAKING_TIME, 10, 100); block_breaker_requires_power = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_requires_power") + .translation(MODID + ".config.block_breaker_requires_power") .comment("Defines if the Small Block Breaker does not work without RF power.") .define("block_breaker_requires_power", false); tree_cuttter_energy_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.tree_cuttter_energy_consumption") + .translation(MODID + ".config.tree_cuttter_energy_consumption") .comment("Defines how much RF power the Small Tree Cutter requires to magnificently increase the processing speed. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("tree_cuttter_energy_consumption", EdTreeCutter.TreeCutterTileEntity.DEFAULT_BOOST_ENERGY, 4, 1024); tree_cuttter_cutting_time_needed = builder - .translation(ModEngineersDecor.MODID + ".config.tree_cuttter_cutting_time_needed") + .translation(MODID + ".config.tree_cuttter_cutting_time_needed") .comment("Defines how much time the Small Tree Cutter needs to cut a tree without RF power. " + "The value is in seconds. With energy it is 6 times faster. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("tree_cuttter_cutting_time_needed", EdTreeCutter.TreeCutterTileEntity.DEFAULT_CUTTING_TIME_NEEDED, 10, 240); tree_cuttter_requires_power = builder - .translation(ModEngineersDecor.MODID + ".config.tree_cuttter_requires_power") + .translation(MODID + ".config.tree_cuttter_requires_power") .comment("Defines if the Small Tree Cutter does not work without RF power.") .define("tree_cuttter_requires_power", false); milking_machine_energy_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.milking_machine_energy_consumption") + .translation(MODID + ".config.milking_machine_energy_consumption") .comment("Defines how much time the Small Milking Machine needs work. " + "Note this is a permanent standby power, not only when the device does something. " + "Use zero to disable energy dependency and energy handling of the machine. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("milking_machine_energy_consumption", EdMilker.MilkerTileEntity.DEFAULT_ENERGY_CONSUMPTION, 0, 1024); milking_machine_milking_delay = builder - .translation(ModEngineersDecor.MODID + ".config.milking_machine_milking_delay") + .translation(MODID + ".config.milking_machine_milking_delay") .comment("Defines (for each individual cow) the minimum time between milking." ) .defineInRange("milking_machine_milking_delay", EdMilker.MilkerTileEntity.DEFAULT_MILKING_DELAY_PER_COW, 1000, 24000); builder.pop(); @@ -492,96 +514,10 @@ public class ModConfig //-------------------------------------------------------------------------------------------------------------------- public static final boolean isOptedOut(final @Nullable Block block) - { return isOptedOut(block, false); } - - public static final boolean isOptedOut(final @Nullable Block block, boolean with_log_details) - { - if(block == null) return true; - if(block == ModContent.SIGN_MODLOGO) return true; - if(COMMON == null) return false; - try { - if(!COMMON.with_experimental.get()) { - if(block instanceof Auxiliaries.IExperimentalFeature) return true; - if(ModContent.isExperimentalBlock(block)) return true; - } - final String rn = block.getRegistryName().getPath(); - // Hard IE dependent blocks - if(!immersiveengineering_installed) { - if(block == ModContent.CONCRETE_WALL) return true; - if((block instanceof DecorBlock.Normal) && ((((DecorBlock.Normal)block).config & DecorBlock.CFG_HARD_IE_DEPENDENT) != 0)) return true; - if((block instanceof StandardBlocks.BaseBlock) && ((((StandardBlocks.BaseBlock)block).config & DecorBlock.CFG_HARD_IE_DEPENDENT) != 0)) return true; - } - // Force-include/exclude pattern matching - try { - for(String e:includes_) { - if(rn.matches(e)) { - if(with_log_details) ModEngineersDecor.logger().info("Optout force include: " + rn); - return false; - } - } - for(String e:excludes_) { - if(rn.matches(e)) { - if(with_log_details) ModEngineersDecor.logger().info("Optout force exclude: " + rn); - return true; - } - } - } catch(Throwable ex) { - ModEngineersDecor.logger().error("optout include pattern failed, disabling."); - includes_.clear(); - excludes_.clear(); - } - // Early non-opt out type based evaluation - if(block instanceof EdCraftingTable.CraftingTableBlock) return COMMON.without_crafting_table.get(); - if(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock) return COMMON.without_electrical_furnace.get(); - if((block instanceof EdFurnace.FurnaceBlock) && (!(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock))) return COMMON.without_lab_furnace.get(); - if(block instanceof EdFluidAccumulator.FluidAccumulatorBlock) return COMMON.without_passive_fluid_accumulator.get(); - if(block instanceof EdWasteIncinerator.WasteIncineratorBlock) return COMMON.without_waste_incinerator.get(); - if(block instanceof EdDropper.DropperBlock) return COMMON.without_factory_dropper.get(); - if(block instanceof EdPlacer.PlacerBlock) return COMMON.without_factory_placer.get(); - if(block instanceof EdBreaker.BreakerBlock) return COMMON.without_block_breaker.get(); - if(block instanceof EdSlabSliceBlock) return COMMON.without_halfslabs.get(); - if(block instanceof EdLadderBlock) return COMMON.without_ladders.get(); - if(block instanceof EdWindowBlock) return COMMON.without_windows.get(); - if(block instanceof EdPipeValve.PipeValveBlock) return COMMON.without_valves.get(); - if(block instanceof EdHorizontalSupportBlock) return COMMON.without_hsupports.get(); - if(block instanceof EdFloorGratingBlock) return COMMON.without_floor_grating.get(); - if(block instanceof EdHopper.HopperBlock) return COMMON.without_factory_hopper.get(); - if(block instanceof EdFluidFunnel.FluidFunnelBlock) return COMMON.without_fluid_funnel.get(); - if(block instanceof EdSolarPanel.SolarPanelBlock) return COMMON.without_solar_panel.get(); - if(block instanceof EdMineralSmelter.MineralSmelterBlock) return COMMON.without_mineral_smelter.get(); - if(block instanceof EdMilker.MilkerBlock) return COMMON.without_milking_machine.get(); - if(block instanceof EdTreeCutter.TreeCutterBlock) return COMMON.without_tree_cutter.get(); - // Type based evaluation where later filters may match, too - if(COMMON.without_slabs.get() && (block instanceof EdSlabBlock)) return true; - if(COMMON.without_stairs.get() && (block instanceof EdStairsBlock)) return true; - if(COMMON.without_walls.get() && (block instanceof EdWallBlock)) return true; - if(COMMON.without_poles.get() && (block instanceof EdStraightPoleBlock)) return true; - // String matching based evaluation - if(COMMON.without_clinker_bricks.get() && (rn.startsWith("clinker_brick_"))) return true; - if(COMMON.without_slag_bricks.get() && rn.startsWith("slag_brick_")) return true; - if(COMMON.without_rebar_concrete.get() && rn.startsWith("rebar_concrete")) return true; - if(COMMON.without_ie_concrete_wall.get() && rn.startsWith("concrete_wall")) return true; - if(COMMON.without_panzer_glass.get() && rn.startsWith("panzerglass_")) return true; - if(COMMON.without_light_sources.get() && rn.endsWith("_light")) return true; - if(COMMON.without_sign_plates.get() && rn.startsWith("sign_")) return true; - if(COMMON.without_treated_wood_furniture.get()) { - if(block instanceof EdChair.ChairBlock) return true; - if(rn.equals("treated_wood_table")) return true; - if(rn.equals("treated_wood_stool")) return true; - if(rn.equals("treated_wood_windowsill")) return true; - } - } catch(Exception ex) { - ModEngineersDecor.logger().error("Exception evaluating the optout config: '" + ex.getMessage() + "'"); - } - return false; - } + { return isOptedOut(block.asItem()); } public static final boolean isOptedOut(final @Nullable Item item) - { - if(item == null) return true; - if(SERVER == null) return false; - return false; - } + { return (item!=null) && optouts_.contains(item.getRegistryName().getPath()); } public static boolean withExperimental() { return with_experimental_features_; } @@ -592,26 +528,164 @@ public class ModConfig //-------------------------------------------------------------------------------------------------------------------- // Cache //-------------------------------------------------------------------------------------------------------------------- - private static final ArrayList includes_ = new ArrayList(); - private static final ArrayList excludes_ = new ArrayList(); + private static final CompoundNBT server_config_ = new CompoundNBT(); - public static boolean without_crafting_table = false; - public static boolean immersiveengineering_installed = false; - public static boolean with_creative_mode_device_drops = false; + private static HashSet optouts_ = new HashSet<>(); private static boolean with_experimental_features_ = false; private static boolean without_recipes_ = false; + public static boolean without_crafting_table = false; + public static boolean immersiveengineering_installed = false; + public static boolean without_direct_slab_pickup = false; + public static boolean with_creative_mode_device_drops = false; public static final CompoundNBT getServerConfig() // config that may be synchronized from server to client via net pkg. { return server_config_; } + private static final void updateOptouts() + { + final ArrayList includes_ = new ArrayList(); + final ArrayList excludes_ = new ArrayList(); + { + String inc = COMMON.pattern_includes.get().toLowerCase().replaceAll(MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); + if(COMMON.pattern_includes.get() != inc) COMMON.pattern_includes.set(inc); + if(!inc.isEmpty()) LOGGER.info("Config pattern includes: '" + inc + "'"); + String[] incl = inc.split(","); + includes_.clear(); + for(int i=0; i< incl.length; ++i) { + incl[i] = incl[i].replaceAll("[*]", ".*?"); + if(!incl[i].isEmpty()) includes_.add(incl[i]); + } + } + { + String exc = COMMON.pattern_excludes.get().toLowerCase().replaceAll(MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); + if(!exc.isEmpty()) LOGGER.info("Config pattern excludes: '" + exc + "'"); + String[] excl = exc.split(","); + excludes_.clear(); + for(int i=0; i< excl.length; ++i) { + excl[i] = excl[i].replaceAll("[*]", ".*?"); + if(!excl[i].isEmpty()) excludes_.add(excl[i]); + } + } + + { + boolean with_log_details = false; + HashSet optouts = new HashSet<>(); + ModContent.getRegisteredItems().stream().filter((Item item) -> { + if(item == null) return true; + if(SERVER == null) return false; + return false; + }).forEach( + e -> optouts.add(e.getRegistryName().getPath()) + ); + ModContent.getRegisteredBlocks().stream().filter((Block block) -> { + if(block==null) return true; + if(block==ModContent.SIGN_MODLOGO) return true; + if(COMMON==null) return false; + try { + if(!COMMON.with_experimental.get()) { + if(block instanceof Auxiliaries.IExperimentalFeature) return true; + if(ModContent.isExperimentalBlock(block)) return true; + } + final String rn = block.getRegistryName().getPath(); + // Hard IE dependent blocks + if(!immersiveengineering_installed) { + if(block==ModContent.CONCRETE_WALL) return true; + if((block instanceof DecorBlock.Normal)&&((((DecorBlock.Normal)block).config&DecorBlock.CFG_HARD_IE_DEPENDENT)!=0)) + return true; + if((block instanceof StandardBlocks.BaseBlock)&&((((StandardBlocks.BaseBlock)block).config&DecorBlock.CFG_HARD_IE_DEPENDENT)!=0)) + return true; + } + // Force-include/exclude pattern matching + try { + for(String e : includes_) { + if(rn.matches(e)) { + if(with_log_details) LOGGER.info("Optout force include: "+rn); + return false; + } + } + for(String e : excludes_) { + if(rn.matches(e)) { + if(with_log_details) LOGGER.info("Optout force exclude: "+rn); + return true; + } + } + } catch(Throwable ex) { + LOGGER.error("optout include pattern failed, disabling."); + includes_.clear(); + excludes_.clear(); + } + // Early non-opt out type based evaluation + if(block instanceof EdCraftingTable.CraftingTableBlock) return COMMON.without_crafting_table.get(); + if(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock) return COMMON.without_electrical_furnace.get(); + if((block instanceof EdFurnace.FurnaceBlock)&&(!(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock))) return COMMON.without_lab_furnace.get(); + if(block instanceof EdFluidAccumulator.FluidAccumulatorBlock) return COMMON.without_passive_fluid_accumulator.get(); + if(block instanceof EdWasteIncinerator.WasteIncineratorBlock) return COMMON.without_waste_incinerator.get(); + if(block instanceof EdDropper.DropperBlock) return COMMON.without_factory_dropper.get(); + if(block instanceof EdPlacer.PlacerBlock) return COMMON.without_factory_placer.get(); + if(block instanceof EdBreaker.BreakerBlock) return COMMON.without_block_breaker.get(); + if(block instanceof EdSlabSliceBlock) return COMMON.without_halfslabs.get(); + if(block instanceof EdLadderBlock) return COMMON.without_ladders.get(); + if(block instanceof EdWindowBlock) return COMMON.without_windows.get(); + if(block instanceof EdPipeValve.PipeValveBlock) return COMMON.without_valves.get(); + if(block instanceof EdHorizontalSupportBlock) return COMMON.without_hsupports.get(); + if(block instanceof EdFloorGratingBlock) return COMMON.without_floor_grating.get(); + if(block instanceof EdHopper.HopperBlock) return COMMON.without_factory_hopper.get(); + if(block instanceof EdFluidFunnel.FluidFunnelBlock) return COMMON.without_fluid_funnel.get(); + if(block instanceof EdSolarPanel.SolarPanelBlock) return COMMON.without_solar_panel.get(); + if(block instanceof EdMineralSmelter.MineralSmelterBlock) return COMMON.without_mineral_smelter.get(); + if(block instanceof EdMilker.MilkerBlock) return COMMON.without_milking_machine.get(); + if(block instanceof EdTreeCutter.TreeCutterBlock) return COMMON.without_tree_cutter.get(); + if(block instanceof EdLabeledCrate.LabeledCrateBlock) return COMMON.without_labeled_crate.get(); + // Type based evaluation where later filters may match, too + if(COMMON.without_slabs.get()&&(block instanceof EdSlabBlock)) return true; + if(COMMON.without_stairs.get()&&(block instanceof EdStairsBlock)) return true; + if(COMMON.without_walls.get()&&(block instanceof EdWallBlock)) return true; + if(COMMON.without_poles.get()&&(block instanceof EdStraightPoleBlock)) return true; + // String matching based evaluation + if(COMMON.without_clinker_bricks.get()&&(rn.startsWith("clinker_brick_"))) return true; + if(COMMON.without_slag_bricks.get()&&rn.startsWith("slag_brick_")) return true; + if(COMMON.without_rebar_concrete.get()&&rn.startsWith("rebar_concrete")) return true; + if(COMMON.without_gas_concrete.get()&&rn.startsWith("gas_concrete")) return true; + if(COMMON.without_ie_concrete_wall.get()&&rn.startsWith("concrete_wall")) return true; + if(COMMON.without_panzer_glass.get()&&rn.startsWith("panzerglass_")) return true; + if(COMMON.without_light_sources.get()&&rn.endsWith("_light")) return true; + if(COMMON.without_sign_plates.get()&&rn.startsWith("sign_")) return true; + if(COMMON.without_treated_wood_furniture.get()) { + if(block instanceof EdChair.ChairBlock) return true; + if(rn.equals("treated_wood_table")) return true; + if(rn.equals("treated_wood_stool")) return true; + if(rn.equals("treated_wood_windowsill")) return true; + if(rn.equals("treated_wood_broad_windowsill")) return true; + if(rn.equals("treated_wood_side_table")) return true; + } + if(COMMON.without_metal_furniture.get()) { + if(rn.equals("steel_table")) return true; + } + if(COMMON.without_fences.get()) { + if(block instanceof EdFenceBlock) return true; + if(block instanceof EdDoubleGateBlock) return true; + } + } catch(Exception ex) { + LOGGER.error("Exception evaluating the optout config: '"+ex.getMessage()+"'"); + } + return false; + }).forEach( + e -> optouts.add(e.getRegistryName().getPath()) + ); + optouts_ = optouts; + } + } + public static final void apply() { - without_crafting_table = isOptedOut(ModContent.TREATED_WOOD_CRAFTING_TABLE); - immersiveengineering_installed = Auxiliaries.isModLoaded("immersiveengineering"); with_experimental_features_ = COMMON.with_experimental.get(); + if(with_experimental_features_) LOGGER.info("Config: EXPERIMENTAL FEATURES ENABLED."); + immersiveengineering_installed = Auxiliaries.isModLoaded("immersiveengineering"); + updateOptouts(); + without_crafting_table = isOptedOut(ModContent.TREATED_WOOD_CRAFTING_TABLE); without_recipes_ = COMMON.without_recipes.get(); + without_direct_slab_pickup = COMMON.without_direct_slab_pickup.get(); // ----------------------------------------------------------------------------------------------------------------- - OptionalRecipeCondition.on_config(with_experimental_features_, without_recipes_, ModConfig::isOptedOut, ModConfig::isOptedOut); EdFurnace.FurnaceTileEntity.on_config(COMMON.furnace_smelting_speed_percent.get(), COMMON.furnace_fuel_efficiency_percent.get(), COMMON.furnace_boost_energy_consumption.get()); EdChair.on_config(COMMON.without_chair_sitting.get(), COMMON.without_mob_chair_sitting.get(), COMMON.chair_mob_sitting_probability_percent.get(), COMMON.chair_mob_standup_probability_percent.get()); EdLadderBlock.on_config(COMMON.without_ladder_speed_boost.get()); @@ -626,34 +700,15 @@ public class ModConfig EdSlabSliceBlock.on_config(!COMMON.without_direct_slab_pickup.get()); EdLabeledCrate.on_config(false); // ----------------------------------------------------------------------------------------------------------------- - if(with_experimental_features_) { - ModEngineersDecor.logger().info("Config: EXPERIMENTAL FEATURES ENABLED."); - } - { - String inc = COMMON.pattern_includes.get().toLowerCase().replaceAll(ModEngineersDecor.MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); - if(COMMON.pattern_includes.get() != inc) COMMON.pattern_includes.set(inc); - if(!inc.isEmpty()) ModEngineersDecor.logger().info("Config pattern includes: '" + inc + "'"); - String[] incl = inc.split(","); - includes_.clear(); - for(int i=0; i< incl.length; ++i) { - incl[i] = incl[i].replaceAll("[*]", ".*?"); - if(!incl[i].isEmpty()) includes_.add(incl[i]); - } - } - { - String exc = COMMON.pattern_includes.get().toLowerCase().replaceAll(ModEngineersDecor.MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); - if(!exc.isEmpty()) ModEngineersDecor.logger().info("Config pattern excludes: '" + exc + "'"); - String[] excl = exc.split(","); - excludes_.clear(); - for(int i=0; i< excl.length; ++i) { - excl[i] = excl[i].replaceAll("[*]", ".*?"); - if(!excl[i].isEmpty()) excludes_.add(excl[i]); - } - } { // Check if the config is already synchronized or has to be synchronised. server_config_.putBoolean("tree_cuttter_requires_power", COMMON.tree_cuttter_requires_power.get()); server_config_.putBoolean("block_breaker_requires_power", COMMON.block_breaker_requires_power.get()); + { + String s = String.join(",", optouts_); + server_config_.putString("optout", s); + if(!s.isEmpty()) LOGGER.info("Opt-outs:" + s); + } } } } diff --git a/1.14/src/main/java/wile/engineersdecor/ModContent.java b/1.14/src/main/java/wile/engineersdecor/ModContent.java index dc51934..45c7c2b 100644 --- a/1.14/src/main/java/wile/engineersdecor/ModContent.java +++ b/1.14/src/main/java/wile/engineersdecor/ModContent.java @@ -14,6 +14,7 @@ package wile.engineersdecor; import wile.engineersdecor.blocks.*; +import wile.engineersdecor.libmc.blocks.StandardBlocks.BaseBlock; import wile.engineersdecor.libmc.detail.Auxiliaries; import wile.engineersdecor.libmc.blocks.StandardBlocks; import net.minecraft.util.Direction; @@ -44,6 +45,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Collections; +import java.util.stream.Collectors; import javax.annotation.Nonnull; @SuppressWarnings("unused") @@ -713,12 +715,12 @@ public class ModContent HALFSLAB_REBARCONCRETE, HALFSLAB_GASCONCRETE, HALFSLAB_CONCRETE, - //HALFSLAB_TREATEDWOOD, - //HALFSLAB_SHEETMETALIRON, - //HALFSLAB_SHEETMETALSTEEL, - //HALFSLAB_SHEETMETALCOPPER, - //HALFSLAB_SHEETMETALGOLD, - //HALFSLAB_SHEETMETALALUMINIUM, + HALFSLAB_TREATEDWOOD, + HALFSLAB_SHEETMETALIRON, + HALFSLAB_SHEETMETALSTEEL, + HALFSLAB_SHEETMETALCOPPER, + HALFSLAB_SHEETMETALGOLD, + HALFSLAB_SHEETMETALALUMINIUM, CONCRETE_WALL, PANZERGLASS_BLOCK, PANZERGLASS_SLAB, @@ -949,10 +951,25 @@ public class ModContent public static List getRegisteredBlocks() { return Collections.unmodifiableList(registeredBlocks); } + @Nonnull + public static List getRegisteredItems() + { return new ArrayList<>(); } + public static final void registerBlocks(final RegistryEvent.Register event) { - if(Auxiliaries.isModLoaded("immersiveengineering")) Auxiliaries.logInfo("Immersive Engineering also installed ..."); - registeredBlocks.addAll(allBlocks()); + boolean ie_available = Auxiliaries.isModLoaded("immersiveengineering"); + if(ie_available) { + Auxiliaries.logInfo("Immersive Engineering also installed ..."); + registeredBlocks.addAll(allBlocks()); + } else { + registeredBlocks.addAll(allBlocks().stream() + .filter(block-> + ((!(block instanceof BaseBlock)) || ((((BaseBlock)block).config & DecorBlock.CFG_HARD_IE_DEPENDENT)==0)) + || (block == HALFSLAB_CONCRETE) // special case for 1.14 to prevent mod update issues + ) + .collect(Collectors.toList()) + ); + } for(Block e:registeredBlocks) event.getRegistry().register(e); Auxiliaries.logInfo("Registered " + Integer.toString(registeredBlocks.size()) + " blocks."); } diff --git a/1.14/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java b/1.14/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java index 34e58e2..fc78a5c 100644 --- a/1.14/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java +++ b/1.14/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java @@ -123,7 +123,7 @@ public class EdElectricalFurnace public static final int HEAT_INCREMENT = 20; public static final int MAX_ENERGY_TRANSFER = 1024; public static final int MAX_ENERGY_BUFFER = 32000; - public static final int MAX_SPEED_SETTING = 2; + public static final int MAX_SPEED_SETTING = 3; public static final int NUM_OF_SLOTS = 7; public static final int SMELTING_INPUT_SLOT_NO = 0; public static final int SMELTING_AUX_SLOT_NO = 1; @@ -196,7 +196,7 @@ public class EdElectricalFurnace proc_time_needed_ = nbt.getInt("CookTimeTotal"); energy_stored_ = nbt.getInt("Energy"); speed_ = nbt.getInt("SpeedSetting"); - speed_ = (speed_ < 0) ? (1) : ((speed_>3) ? 3 : speed_); + speed_ = (speed_ < 0) ? (1) : ((speed_>MAX_SPEED_SETTING) ? MAX_SPEED_SETTING : speed_); } protected void writenbt(CompoundNBT nbt) @@ -205,7 +205,7 @@ public class EdElectricalFurnace nbt.putInt("CookTime", MathHelper.clamp(proc_time_elapsed_, 0, MAX_BURNTIME)); nbt.putInt("CookTimeTotal", MathHelper.clamp(proc_time_needed_, 0, MAX_BURNTIME)); nbt.putInt("Energy", MathHelper.clamp(energy_stored_, 0, MAX_ENERGY_BUFFER)); - nbt.putInt("SpeedSetting", MathHelper.clamp(speed_, -1, MAX_SPEED_SETTING)); + nbt.putInt("SpeedSetting", MathHelper.clamp(speed_, 0, MAX_SPEED_SETTING)); ItemStackHelper.saveAllItems(nbt, stacks_); } @@ -492,7 +492,7 @@ public class EdElectricalFurnace } else if(energy_stored_ >= (MAX_ENERGY_BUFFER/2)) { enabled_ = true; } - if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (enabled_) && (speed_>0) && (speed_<4)) { + if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (enabled_) && (speed_>0) && (speed_<=MAX_SPEED_SETTING)) { IRecipe last_recipe = currentRecipe(); updateCurrentRecipe(); if(currentRecipe() != last_recipe) { @@ -769,7 +769,7 @@ public class EdElectricalFurnace { if(!(inventory_ instanceof ElectricalFurnaceTileEntity)) return; ElectricalFurnaceTileEntity te = (ElectricalFurnaceTileEntity)inventory_; - if(nbt.contains("speed")) te.speed_ = MathHelper.clamp(nbt.getInt("speed"), 0, 3); + if(nbt.contains("speed")) te.speed_ = MathHelper.clamp(nbt.getInt("speed"), 0, ElectricalFurnaceTileEntity.MAX_SPEED_SETTING); te.markDirty(); } } diff --git a/1.14/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java b/1.14/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java index dad2a41..c52d860 100644 --- a/1.14/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java +++ b/1.14/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java @@ -17,10 +17,14 @@ import mezz.jei.api.registration.IRecipeTransferRegistration; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.runtime.IJeiRuntime; import net.minecraft.block.Block; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.stream.Collectors; + @mezz.jei.api.JeiPlugin public class JEIPlugin implements mezz.jei.api.IModPlugin @@ -48,15 +52,21 @@ public class JEIPlugin implements mezz.jei.api.IModPlugin @Override public void onRuntimeAvailable(IJeiRuntime jeiRuntime) { - List blacklisted = new ArrayList<>(); + HashSet blacklisted = new HashSet<>(); for(Block e: ModContent.getRegisteredBlocks()) { - if(ModConfig.isOptedOut(e)) { - blacklisted.add(new ItemStack(e.asItem())); + if(ModConfig.isOptedOut(e) && (e.asItem().getRegistryName().getPath()).equals((e.getRegistryName().getPath()))) { + blacklisted.add(e.asItem()); + } + } + for(Item e: ModContent.getRegisteredItems()) { + if(ModConfig.isOptedOut(e) && (!(e instanceof BlockItem))) { + blacklisted.add(e); } } if(!blacklisted.isEmpty()) { + List blacklist = blacklisted.stream().map(ItemStack::new).collect(Collectors.toList()); try { - jeiRuntime.getIngredientManager().removeIngredientsAtRuntime(VanillaTypes.ITEM, blacklisted); + jeiRuntime.getIngredientManager().removeIngredientsAtRuntime(VanillaTypes.ITEM, blacklist); } catch(Exception e) { ModEngineersDecor.logger().warn("Exception in JEI opt-out processing: '" + e.getMessage() + "', skipping further JEI optout processing."); } diff --git a/1.14/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java b/1.14/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java index 631cb46..fb52bb6 100644 --- a/1.14/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java +++ b/1.14/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java @@ -10,10 +10,12 @@ package wile.engineersdecor.libmc.detail; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; +import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.inventory.IInventory; @@ -86,7 +88,9 @@ public class Inventories } private static ItemStack checked(ItemStack stack) - { return stack.isEmpty() ? ItemStack.EMPTY : stack; } // explicit EMPTY return + { return stack.isEmpty() ? ItemStack.EMPTY : stack; } + + //-------------------------------------------------------------------------------------------------------------------- public static class SlotRange { @@ -138,7 +142,7 @@ public class Inventories for(int i = start_slot; i < end_slot; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); final ItemStack stack = inventory.getStackInSlot(sno); - if(stack.isEmpty() || (!inventory.isItemValidForSlot(sno, mvstack))) { + if(stack.isEmpty()) { empties[sno] = true; } else if(areItemStacksIdentical(stack, mvstack)) { matches[sno] = true; @@ -148,7 +152,7 @@ public class Inventories // first iteration: fillup existing stacks for(int i = start_slot; i < end_slot; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); - if(empties[sno] || !matches[sno]) continue; + if((empties[sno]) || (!matches[sno])) continue; final ItemStack stack = inventory.getStackInSlot(sno); int nmax = Math.min(limit_left, stack.getMaxStackSize() - stack.getCount()); if(mvstack.getCount() <= nmax) { @@ -180,7 +184,7 @@ public class Inventories } for(i=insert_start;i < insert_end; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); - if(!empties[sno]) continue; + if((!empties[sno]) || (!inventory.isItemValidForSlot(sno, mvstack))) continue; int nmax = Math.min(limit_left, mvstack.getCount()); ItemStack moved = mvstack.copy(); moved.setCount(nmax); @@ -195,7 +199,7 @@ public class Inventories final int sno = reverse ? (end_slot-1-i) : (i); if(!matches[sno]) continue; int ii = (empties[sno-1]) ? (sno-1) : (empties[sno+1] ? (sno+1) : -1); - if(ii >= 0) { + if((ii >= 0) && (inventory.isItemValidForSlot(ii, mvstack))) { int nmax = Math.min(limit_left, mvstack.getCount()); ItemStack moved = mvstack.copy(); moved.setCount(nmax); @@ -209,7 +213,7 @@ public class Inventories // third iteration: use any empty slots for(int i = start_slot; i < end_slot; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); - if(!empties[sno]) continue; + if((!empties[sno]) || (!inventory.isItemValidForSlot(sno, mvstack))) continue; int nmax = Math.min(limit_left, mvstack.getCount()); ItemStack placed = mvstack.copy(); placed.setCount(nmax); @@ -303,4 +307,33 @@ public class Inventories { return inventory.isItemValidForSlot(offset+index, stack); } } + //-------------------------------------------------------------------------------------------------------------------- + + public static NonNullList readNbtStacks(CompoundNBT nbt, String key, int size) + { + NonNullList stacks = NonNullList.withSize(size, ItemStack.EMPTY); + if((nbt == null) || (!nbt.contains(key,10))) return stacks; + CompoundNBT stacknbt = nbt.getCompound(key); + ItemStackHelper.loadAllItems(stacknbt, stacks); + return stacks; + } + + public static CompoundNBT writeNbtStacks(CompoundNBT nbt, String key, NonNullList stacks, boolean omit_trailing_empty) + { + CompoundNBT stacknbt = new CompoundNBT(); + if(omit_trailing_empty) { + for(int i=stacks.size()-1; i>=0; --i) { + if(!stacks.get(i).isEmpty()) break; + stacks.remove(i); + } + } + ItemStackHelper.saveAllItems(stacknbt, stacks); + if(nbt == null) nbt = new CompoundNBT(); + nbt.put(key, stacknbt); + return nbt; + } + + public static CompoundNBT writeNbtStacks(CompoundNBT nbt, String key, NonNullList stacks) + { return writeNbtStacks(nbt, key, stacks, false); } + } diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json index 010c521..0cc0562 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json index 1701125..5137fa2 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json index 15a1bfd..e4b5bc3 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json index da2daf0..a341146 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json index 6f9d10d..2d9ff0b 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json index 97c46bd..963f644 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json index 114e60b..386f7d2 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json index af9fc2a..8ae1c28 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json index 9aae690..03b6a03 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json index c59ece1..2996e8f 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json index 32a099d..99e67eb 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json index 012a455..4916cc3 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json index 22be791..038e8ca 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json index 7e86a61..5e47f6d 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json index a1a6c9b..f8758b2 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json index b4fae7c..2f55988 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json index bc66e0d..f517d77 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json index dc3e425..9431803 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json index 90c774f..a08a050 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json index db2cb66..2acd61c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json index 774cbfd..7410c2b 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json index 50631c2..4f1438f 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json index bf7a696..1a3e1ad 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json index 8d2fc72..9fa6e1e 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json index 6b1c323..5af27cd 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json index 460a411..a540aba 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json index 196f65d..176f23a 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json index 75144ab..aae6702 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json index f3e0609..151de82 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json index 3e41aa4..3aa629a 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json index cc127ab..2b2ecd4 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json index 4bf17e3..3d8db0c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json index 33985e8..75987e0 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json index ba1dfdf..4fb230a 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json index 5a28b0e..116afd4 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json index 4ad018a..8474301 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json index 9baf84a..e8f67a4 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json index 067bf85..2d65187 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json index 310b3b8..6678955 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json index d80f4df..ae8f7b3 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json index cc7bad3..0ffbf17 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json index e2b2371..c848915 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json index 05f3593..bd7b709 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json index 7bc9ba7..9766ee9 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json index 735a49e..fe86c98 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json index cc5457f..c68a8cf 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json index 80d61a1..0395cae 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json index 0fe74e2..a169032 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json index d46b68a..f255a40 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json index 03b0e72..327f6ec 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json index ebd8de7..4de2f26 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json index 6e320ce..4658327 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json index 6597c88..e7c42b8 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json index 35ef68d..7fd02a1 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json index ce7757e..bf1dc63 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json index 4b646cc..8a8a5f5 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json index bfdcf64..f8dbf5b 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json index da65821..de421e9 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json index ee5a817..859bd78 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json index f283f62..676bcaf 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json index 15cbe2a..bbb5cba 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json index 535e9bc..097a39b 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json index 01b1492..60f099f 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json index 4787f8f..0f62a50 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json index 0dd6af2..9ddef82 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json index 8728aec..f61c907 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json index 1578928..35afe35 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json index 1c96baf..d8673fe 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json index 8ac9d61..8a5e9d7 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json index f29c546..229786c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json index 11e806b..724e523 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json index 4f62472..c29880f 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json index 2bbdc25..b5e90b7 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json index cb669a9..1566ab2 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json index c90cc2a..e230e1a 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json index e407cc4..a257b97 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json index 246e37c..c3574a5 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json index 5c2ea42..98979c5 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json index fdccbed..dc1f78e 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json index 0b7c181..97212f3 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json index 61a9c8b..0302813 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json index 97b3a2b..ab8e456 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json index 813ec2e..a78a728 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json index 47b1ee2..2c5c17c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json index 0014aa3..69d4f74 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json index 7c3dca8..a48863c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json index b42c04e..f595960 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json index 826f246..7da1eaa 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json index a3fc117..ddedfc0 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json index 4504ff2..5da6b1c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json index 378409c..aab3bad 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json index 2f40718..cb024a4 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json index 16db637..09fd8a5 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json index 9b7c6af..ef26533 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json index a311aa2..f6c7b8c 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json index a36c04a..f8d7784 100644 --- a/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json +++ b/1.14/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png index 799fffe..d434d80 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png differ diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png index 90d5912..c03f44a 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png differ diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png index a50b4db..c8f425b 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png differ diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png index 3be27d1..742912d 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png differ diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png index 2784802..48da301 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png differ diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png index 3137cb9..4040c84 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png differ diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png index 7f3cffc..d703fc8 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png differ diff --git a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png index 60d1ed6..4e5a7a0 100644 Binary files a/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png and b/1.14/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png differ diff --git a/1.14/tasks.js b/1.14/tasks.js deleted file mode 100644 index 1f8f945..0000000 --- a/1.14/tasks.js +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/djs -"use strict"; -const constants = include("../meta/lib/constants.js")(); -const libtask = include("../meta/lib/libtask.js")(constants); -libtask.run({}, sys.args); diff --git a/1.15/Makefile b/1.15/Makefile index 424a3a9..1e85e35 100644 --- a/1.15/Makefile +++ b/1.15/Makefile @@ -18,13 +18,14 @@ GRADLE=./gradlew --no-daemon GRADLE_STOP=./gradlew --stop DJS=djs endif +TASK=$(DJS) ../meta/lib/tasks.js wildcardr=$(foreach d,$(wildcard $1*),$(call wildcardr,$d/,$2) $(filter $(subst *,%,$2),$d)) # # Targets # -.PHONY: default mod data init clean clean-all mrproper all run install sanatize dist-check dist start-server assets +.PHONY: default mod data init clean clean-all mrproper all run install sanitize dist-check dist start-server assets default: mod @@ -34,9 +35,13 @@ mod: @echo "[1.15] Building mod using gradle ..." @$(GRADLE) build $(GRADLE_OPTS) +assets: + @echo "[1.15] Running asset generators ..." + @$(TASK) assets + data: @echo "[1.15] Running data generators ..." - @djs tasks.js datagen + @$(TASK) datagen clean: @echo "[1.15] Cleaning ..." @@ -64,28 +69,28 @@ init: @echo "[1.15] Initialising eclipse workspace using gradle ..." @$(GRADLE) eclipse -sanatize: +sanitize: @echo "[1.15] Running sanatising tasks ..." - @djs tasks.js sanatize - @djs tasks.js sync-languages - @djs tasks.js version-check - @djs tasks.js update-json + @$(TASK) sanitize + @$(TASK) sync-languages + @$(TASK) version-check + @$(TASK) update-json @git status -s . +install: $(MOD_JAR) | + @$(TASK) install + +start-server: install + @$(TASK) start-server + dist-check: @echo "[1.15] Running dist checks ..." - @djs tasks.js dist-check + @$(TASK) dist-check dist-files: clean-all init mod @echo "[1.15] Distribution files ..." @mkdir -p dist @cp build/libs/$(MOD_JAR_PREFIX)* dist/ - @djs tasks.js dist + @$(TASK) dist -dist: sanatize dist-check dist-files - -assets: - @echo "[1.15] Running asset generators ..." - @djs tasks.js create-slab-assets - @djs tasks.js create-half-slab-assets - @djs tasks.js assets +dist: sanitize dist-check dist-files diff --git a/1.15/meta/update.json b/1.15/meta/update.json index 1fb238b..dfd6b53 100644 --- a/1.15/meta/update.json +++ b/1.15/meta/update.json @@ -1,6 +1,7 @@ { "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/", "1.15.2": { + "1.1.0-b1": "[F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace).\n[A] IE Sheet Metal Slab Slices added (only available if IE is installed).\n[M] Config options extended/updated.\n[M] GUI models updated to circumvent too dark representations.\n[M] Dense Grit Sand textures altered to get slightly more visible structure from distance.", "1.0.20-b7": "[A] Dense Grit Sand added.\n[!] Variant Slab compatibility fix. *This may alter placed slabs of this mod, data fixers don't work yet unfortunately*.", "1.0.20-b6": "[M] Slab Slice placement improved.\n[M] Quite some naming/refractoring under the hood.", "1.0.20-b5": "[A] Electrical Furnace can draw in smelting input items from an adjacent inventory when a Hopper is placed in the auxiliary slot.\n[M] Wrapped Labeled Crate label slot to prevent sorting mods from altering the label.", @@ -21,6 +22,6 @@ }, "promos": { "1.15.2-recommended": "", - "1.15.2-latest": "1.0.20-b7" + "1.15.2-latest": "1.1.0-b1" } } \ No newline at end of file diff --git a/1.15/readme.md b/1.15/readme.md index b05b9fa..d692a20 100644 --- a/1.15/readme.md +++ b/1.15/readme.md @@ -11,7 +11,12 @@ Mod sources for Minecraft version 1.15.1. ## Version history - ~ v1.1.0-b1 [M] + - v1.1.0-b1 [F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace). + [A] IE Sheet Metal Slab Slices added (only available if IE is installed). + [M] Config options extended/updated. + [M] GUI models updated to circumvent too dark representations. + [M] Dense Grit Sand textures altered to get slightly more visible structure + from distance. - v1.0.20-b7 [A] Dense Grit Sand added. [!] Variant Slab compatibility fix. *This may alter placed slabs of this mod, diff --git a/1.15/src/main/java/wile/engineersdecor/ModConfig.java b/1.15/src/main/java/wile/engineersdecor/ModConfig.java index f7f6cbd..d832b37 100644 --- a/1.15/src/main/java/wile/engineersdecor/ModConfig.java +++ b/1.15/src/main/java/wile/engineersdecor/ModConfig.java @@ -17,14 +17,17 @@ import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraftforge.common.ForgeConfigSpec; import org.apache.commons.lang3.tuple.Pair; +import org.apache.logging.log4j.Logger; import javax.annotation.Nullable; import java.util.ArrayList; +import java.util.HashSet; public class ModConfig { //-------------------------------------------------------------------------------------------------------------------- - + private static final Logger LOGGER = ModEngineersDecor.logger(); + private static final String MODID = ModEngineersDecor.MODID; public static final CommonConfig COMMON; public static final ServerConfig SERVER; public static final ClientConfig CLIENT; @@ -60,11 +63,11 @@ public class ModConfig builder.comment("Opt-out settings") .push("optout"); without_tooltips = builder - .translation(ModEngineersDecor.MODID + ".config.without_tooltips") + .translation(MODID + ".config.without_tooltips") .comment("Disable CTRL-SHIFT item tooltip display.") .define("without_tooltips", false); without_ters = builder - .translation(ModEngineersDecor.MODID + ".config.without_ters") + .translation(MODID + ".config.without_ters") .comment("Disable all TERs (tile entity renderers).") .define("without_ters", false); } @@ -94,12 +97,14 @@ public class ModConfig public final ForgeConfigSpec.BooleanValue without_clinker_bricks; public final ForgeConfigSpec.BooleanValue without_slag_bricks; public final ForgeConfigSpec.BooleanValue without_rebar_concrete; + public final ForgeConfigSpec.BooleanValue without_gas_concrete; public final ForgeConfigSpec.BooleanValue without_walls; public final ForgeConfigSpec.BooleanValue without_stairs; public final ForgeConfigSpec.BooleanValue without_ie_concrete_wall; public final ForgeConfigSpec.BooleanValue without_panzer_glass; public final ForgeConfigSpec.BooleanValue without_ladders; public final ForgeConfigSpec.BooleanValue without_treated_wood_furniture; + public final ForgeConfigSpec.BooleanValue without_metal_furniture; public final ForgeConfigSpec.BooleanValue without_windows; public final ForgeConfigSpec.BooleanValue without_light_sources; public final ForgeConfigSpec.BooleanValue without_slabs; @@ -123,6 +128,8 @@ public class ModConfig public final ForgeConfigSpec.BooleanValue without_mineral_smelter; public final ForgeConfigSpec.BooleanValue without_milking_machine; public final ForgeConfigSpec.BooleanValue without_tree_cutter; + public final ForgeConfigSpec.BooleanValue without_labeled_crate; + public final ForgeConfigSpec.BooleanValue without_fences; public final ForgeConfigSpec.BooleanValue without_chair_sitting; public final ForgeConfigSpec.BooleanValue without_mob_chair_sitting; public final ForgeConfigSpec.BooleanValue without_ladder_speed_boost; @@ -165,7 +172,7 @@ public class ModConfig builder.comment("Opt-out settings") .push("optout"); pattern_excludes = builder - .translation(ModEngineersDecor.MODID + ".config.pattern_excludes") + .translation(MODID + ".config.pattern_excludes") .comment("Opt-out any block by its registry name ('*' wildcard matching, " + "comma separated list, whitespaces ignored. You must match the whole name, " + "means maybe add '*' also at the begin and end. Example: '*wood*,*steel*' " @@ -173,7 +180,7 @@ public class ModConfig + "The matching result is also traced in the log file. ") .define("pattern_excludes", ""); pattern_includes = builder - .translation(ModEngineersDecor.MODID + ".config.pattern_includes") + .translation(MODID + ".config.pattern_includes") .comment("Prevent blocks from being opt'ed by registry name ('*' wildcard matching, " + "comma separated list, whitespaces ignored. Evaluated before all other opt-out checks. " + "You must match the whole name, means maybe add '*' also at the begin and end. Example: " @@ -181,153 +188,169 @@ public class ModConfig + "The matching result is also traced in the log file.") .define("pattern_includes", ""); without_clinker_bricks = builder - .translation(ModEngineersDecor.MODID + ".config.without_clinker_bricks") + .translation(MODID + ".config.without_clinker_bricks") .comment("Disable clinker bricks and derived blocks.") .define("without_clinker_bricks", false); without_slag_bricks = builder - .translation(ModEngineersDecor.MODID + ".config.without_slag_bricks") + .translation(MODID + ".config.without_slag_bricks") .comment("Disable slag bricks and derived blocks.") .define("without_slag_bricks", false); without_rebar_concrete = builder - .translation(ModEngineersDecor.MODID + ".config.without_rebar_concrete") + .translation(MODID + ".config.without_rebar_concrete") .comment("Disable rebar concrete and derived blocks.") .define("without_rebar_concrete", false); + without_gas_concrete = builder + .translation(MODID + ".config.without_gas_concrete") + .comment("Disable gas concrete and derived blocks.") + .define("without_gas_concrete", false); without_walls = builder - .translation(ModEngineersDecor.MODID + ".config.without_walls") + .translation(MODID + ".config.without_walls") .comment("Disable all mod wall blocks.") .define("without_walls", false); without_stairs = builder - .translation(ModEngineersDecor.MODID + ".config.without_stairs") + .translation(MODID + ".config.without_stairs") .comment("Disable all mod stairs blocks.") .define("without_stairs", false); without_ie_concrete_wall = builder - .translation(ModEngineersDecor.MODID + ".config.without_ie_concrete_wall") + .translation(MODID + ".config.without_ie_concrete_wall") .comment("Disable IE concrete wall.") .define("without_ie_concrete_wall", false); without_panzer_glass = builder - .translation(ModEngineersDecor.MODID + ".config.without_panzer_glass") + .translation(MODID + ".config.without_panzer_glass") .comment("Disable panzer glass and derived blocks.") .define("without_panzer_glass", false); without_crafting_table = builder - .translation(ModEngineersDecor.MODID + ".config.without_crafting_table") + .translation(MODID + ".config.without_crafting_table") .comment("Disable treated wood crafting table.") .define("without_crafting_table", false); without_lab_furnace = builder - .translation(ModEngineersDecor.MODID + ".config.without_lab_furnace") + .translation(MODID + ".config.without_lab_furnace") .comment("Disable small lab furnace.") .define("without_lab_furnace", false); without_electrical_furnace = builder - .translation(ModEngineersDecor.MODID + ".config.without_electrical_furnace") + .translation(MODID + ".config.without_electrical_furnace") .comment("Disable small electrical pass-through furnace.") .define("without_electrical_furnace", false); without_treated_wood_furniture = builder - .translation(ModEngineersDecor.MODID + ".config.without_treated_wood_furniture") + .translation(MODID + ".config.without_treated_wood_furniture") .comment("Disable treated wood table, stool, windowsill, etc.") .define("without_treated_wood_furniture", false); + without_metal_furniture = builder + .translation(MODID + ".config.without_metal_furniture") + .comment("Disable metal tables, etc.") + .define("without_metal_furniture", false); without_windows = builder - .translation(ModEngineersDecor.MODID + ".config.without_windows") + .translation(MODID + ".config.without_windows") .comment("Disable treated wood window, etc.") .define("without_windows", false); without_light_sources = builder - .translation(ModEngineersDecor.MODID + ".config.without_light_sources") + .translation(MODID + ".config.without_light_sources") .comment("Disable light sources") .define("without_light_sources", false); without_ladders = builder - .translation(ModEngineersDecor.MODID + ".config.without_ladders") + .translation(MODID + ".config.without_ladders") .comment("Disable ladders") .define("without_ladders", false); without_chair_sitting = builder - .translation(ModEngineersDecor.MODID + ".config.without_chair_sitting") + .translation(MODID + ".config.without_chair_sitting") .comment("Disable possibility to sit on stools and chairs.") .define("without_chair_sitting", false); without_mob_chair_sitting = builder - .translation(ModEngineersDecor.MODID + ".config.without_mob_chair_sitting") + .translation(MODID + ".config.without_mob_chair_sitting") .comment("Disable that mobs will sit on chairs and stools.") .define("without_mob_chair_sitting", false); without_ladder_speed_boost = builder - .translation(ModEngineersDecor.MODID + ".config.without_ladder_speed_boost") + .translation(MODID + ".config.without_ladder_speed_boost") .comment("Disable the speed boost of ladders in this mod.") .define("without_ladder_speed_boost", false); without_crafting_table_history = builder - .translation(ModEngineersDecor.MODID + ".config.without_crafting_table_history") + .translation(MODID + ".config.without_crafting_table_history") .comment("Disable history refabrication feature of the treated wood crafting table.") .define("without_crafting_table_history", false); without_valves = builder - .translation(ModEngineersDecor.MODID + ".config.without_valves") + .translation(MODID + ".config.without_valves") .comment("Disable check valve, and redstone controlled valves.") .define("without_valves", false); without_passive_fluid_accumulator = builder - .translation(ModEngineersDecor.MODID + ".config.without_passive_fluid_accumulator") + .translation(MODID + ".config.without_passive_fluid_accumulator") .comment("Disable the passive fluid accumulator.") .define("without_passive_fluid_accumulator", false); without_waste_incinerator = builder - .translation(ModEngineersDecor.MODID + ".config.without_waste_incinerator") + .translation(MODID + ".config.without_waste_incinerator") .comment("Disable item disposal/trash/void incinerator device.") .define("without_waste_incinerator", false); without_sign_plates = builder - .translation(ModEngineersDecor.MODID + ".config.without_sign_plates") + .translation(MODID + ".config.without_sign_plates") .comment("Disable decorative sign plates (caution, hazards, etc).") .define("without_sign_plates", false); without_floor_grating = builder - .translation(ModEngineersDecor.MODID + ".config.without_floor_grating") + .translation(MODID + ".config.without_floor_grating") .comment("Disable floor gratings.") .define("without_floor_grating", false); without_factory_dropper = builder - .translation(ModEngineersDecor.MODID + ".config.without_factory_dropper") + .translation(MODID + ".config.without_factory_dropper") .comment("Disable the factory dropper.") .define("without_factory_dropper", false); without_factory_hopper = builder - .translation(ModEngineersDecor.MODID + ".config.without_factory_hopper") + .translation(MODID + ".config.without_factory_hopper") .comment("Disable the factory hopper.") .define("without_factory_hopper", false); without_factory_placer = builder - .translation(ModEngineersDecor.MODID + ".config.without_factory_placer") + .translation(MODID + ".config.without_factory_placer") .comment("Disable the factory placer.") .define("without_factory_placer", false); without_block_breaker = builder - .translation(ModEngineersDecor.MODID + ".config.without_block_breaker") + .translation(MODID + ".config.without_block_breaker") .comment("Disable the small block breaker.") .define("without_block_breaker", false); without_solar_panel = builder - .translation(ModEngineersDecor.MODID + ".config.without_solar_panel") + .translation(MODID + ".config.without_solar_panel") .comment("Disable the small solar panel.") .define("without_solar_panel", false); without_fluid_funnel = builder - .translation(ModEngineersDecor.MODID + ".config.without_fluid_funnel") + .translation(MODID + ".config.without_fluid_funnel") .comment("Disable the small fluid collection funnel.") .define("without_fluid_funnel", false); without_mineral_smelter = builder - .translation(ModEngineersDecor.MODID + ".config.without_mineral_smelter") + .translation(MODID + ".config.without_mineral_smelter") .comment("Disable the small mineral smelter.") .define("without_mineral_smelter", false); without_milking_machine = builder - .translation(ModEngineersDecor.MODID + ".config.without_milking_machine") + .translation(MODID + ".config.without_milking_machine") .comment("Disable the small milking machine.") .define("without_milking_machine", false); without_tree_cutter = builder - .translation(ModEngineersDecor.MODID + ".config.without_tree_cutter") + .translation(MODID + ".config.without_tree_cutter") .comment("Disable the small tree cutter.") .define("without_tree_cutter", false); + without_labeled_crate = builder + .translation(MODID + ".config.without_labeled_crate") + .comment("Disable labeled crate.") + .define("without_labeled_crate", false); without_slabs = builder - .translation(ModEngineersDecor.MODID + ".config.without_slabs") + .translation(MODID + ".config.without_slabs") .comment("Disable horizontal half-block slab.") .define("without_slabs", false); without_halfslabs = builder - .translation(ModEngineersDecor.MODID + ".config.without_halfslabs") + .translation(MODID + ".config.without_halfslabs") .comment("Disable stackable 1/8 block slices.") .define("without_halfslabs", false); without_poles = builder - .translation(ModEngineersDecor.MODID + ".config.without_poles") + .translation(MODID + ".config.without_poles") .comment("Disable poles of any material.") .define("without_poles", false); without_hsupports = builder - .translation(ModEngineersDecor.MODID + ".config.without_hsupports") + .translation(MODID + ".config.without_hsupports") .comment("Disable horizontal supports like the double-T support.") .define("without_hsupports", false); without_recipes = builder - .translation(ModEngineersDecor.MODID + ".config.without_recipes") + .translation(MODID + ".config.without_recipes") .comment("Disable all internal recipes, allowing to use alternative pack recipes.") .define("without_recipes", false); + without_fences = builder + .translation(MODID + ".config.without_fences") + .comment("Disable all fences and fence gates.") + .define("without_fences", false); builder.pop(); } // --- MISC --------------------------------------------------------------- @@ -335,16 +358,16 @@ public class ModConfig builder.comment("Miscellaneous settings") .push("miscellaneous"); with_experimental = builder - .translation(ModEngineersDecor.MODID + ".config.with_experimental") + .translation(MODID + ".config.with_experimental") .comment("Enables experimental features. Use at own risk.") .define("with_experimental", false); without_direct_slab_pickup = builder - .translation(ModEngineersDecor.MODID + ".config.without_direct_slab_pickup") + .translation(MODID + ".config.without_direct_slab_pickup") .comment("Disable directly picking up layers from slabs and slab " + " slices by left clicking while looking up/down.") .define("without_direct_slab_pickup", false); with_creative_mode_device_drops = builder - .translation(ModEngineersDecor.MODID + ".config.with_creative_mode_device_drops") + .translation(MODID + ".config.with_creative_mode_device_drops") .comment("Enable that devices are dropped as item also in creative mode, allowing " + " to relocate them with contents and settings.") .define("with_creative_mode_device_drops", false); @@ -355,20 +378,20 @@ public class ModConfig builder.comment("Tweaks") .push("tweaks"); furnace_smelting_speed_percent = builder - .translation(ModEngineersDecor.MODID + ".config.furnace_smelting_speed_percent") + .translation(MODID + ".config.furnace_smelting_speed_percent") .comment("Defines, in percent, how fast the lab furnace smelts compared to " + "a vanilla furnace. 100% means vanilla furnace speed, 150% means the " + "lab furnace is faster. The value can be changed on-the-fly for tuning.") .defineInRange("furnace_smelting_speed_percent", 130, 50, 800); furnace_fuel_efficiency_percent = builder - .translation(ModEngineersDecor.MODID + ".config.furnace_fuel_efficiency_percent") + .translation(MODID + ".config.furnace_fuel_efficiency_percent") .comment("Defines, in percent, how fuel efficient the lab furnace is, compared " + "to a vanilla furnace. 100% means vanilla furnace consumiton, 200% means " + "the lab furnace needs about half the fuel of a vanilla furnace, " + "The value can be changed on-the-fly for tuning.") .defineInRange("furnace_fuel_efficiency_percent", 100, 50, 400); furnace_boost_energy_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.furnace_boost_energy_consumption") + .translation(MODID + ".config.furnace_boost_energy_consumption") .comment("Defines the energy consumption (per tick) for speeding up the smelting process. " + "If IE is installed, an external heater has to be inserted into an auxiliary slot " + "of the lab furnace. The power source needs to be able to provide at least 4 times " + @@ -376,109 +399,109 @@ public class ModConfig "The default value corresponds to the IE heater consumption.") .defineInRange("furnace_boost_energy_consumption", 24, 2, 1024); chair_mob_sitting_probability_percent = builder - .translation(ModEngineersDecor.MODID + ".config.chair_mob_sitting_probability_percent") + .translation(MODID + ".config.chair_mob_sitting_probability_percent") .comment("Defines, in percent, how high the probability is that a mob sits on a chair " + "when colliding with it. Can be changed on-the-fly for tuning.") .defineInRange("chair_mob_sitting_probability_percent", 10.0, 0.0, 80.0); chair_mob_standup_probability_percent = builder - .translation(ModEngineersDecor.MODID + ".config.chair_mob_standup_probability_percent") + .translation(MODID + ".config.chair_mob_standup_probability_percent") .comment("Defines, in percent, probable it is that a mob leaves a chair when sitting " + "on it. The 'dice is rolled' about every 20 ticks. There is also a minimum " + "Sitting time of about 3s. The config value can be changed on-the-fly for tuning.") .defineInRange("chair_mob_standup_probability_percent", 1.0, 1e-3, 10.0); with_crafting_quickmove_buttons = builder - .translation(ModEngineersDecor.MODID + ".config.with_crafting_quickmove_buttons") + .translation(MODID + ".config.with_crafting_quickmove_buttons") .comment("Enables small quick-move arrows from/to player/block storage. " + "Makes the UI a bit too busy, therefore disabled by default.") .define("with_crafting_quickmove_buttons", false); without_crafting_mouse_scrolling = builder - .translation(ModEngineersDecor.MODID + ".config.without_crafting_mouse_scrolling") + .translation(MODID + ".config.without_crafting_mouse_scrolling") .comment("Disables increasing/decreasing the crafting grid items by scrolling over the crafting result slot.") .define("without_crafting_mouse_scrolling", false); pipevalve_max_flowrate = builder - .translation(ModEngineersDecor.MODID + ".config.pipevalve_max_flowrate") + .translation(MODID + ".config.pipevalve_max_flowrate") .comment("Defines how many millibuckets can be transferred (per tick) through the valves. " + "That is technically the 'storage size' specified for blocks that want to fill " + "fluids into the valve (the valve has no container and forward that to the output " + "block), The value can be changed on-the-fly for tuning. ") .defineInRange("pipevalve_max_flowrate", 1000, 1, 32000); pipevalve_redstone_gain = builder - .translation(ModEngineersDecor.MODID + ".config.pipevalve_redstone_gain") + .translation(MODID + ".config.pipevalve_redstone_gain") .comment("Defines how many millibuckets per redstone signal strength can be transferred per tick " + "through the analog redstone controlled valves. Note: power 0 is always off, power 15 is always " + "the max flow rate. Between power 1 and 14 this scaler will result in a flow = 'redstone slope' * 'current redstone power'. " + "The value can be changed on-the-fly for tuning. ") .defineInRange("pipevalve_redstone_gain", 20, 1, 32000); e_furnace_speed_percent = builder - .translation(ModEngineersDecor.MODID + ".config.e_furnace_speed_percent") + .translation(MODID + ".config.e_furnace_speed_percent") .comment("Defines, in percent, how fast the electrical furnace smelts compared to " + "a vanilla furnace. 100% means vanilla furnace speed, 150% means the " + "electrical furnace is faster. The value can be changed on-the-fly for tuning.") .defineInRange("e_furnace_speed_percent", EdElectricalFurnace.ElectricalFurnaceTileEntity.DEFAULT_SPEED_PERCENT, 50, 800); e_furnace_power_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.e_furnace_power_consumption") + .translation(MODID + ".config.e_furnace_power_consumption") .comment("Defines how much RF per tick the the electrical furnace consumed (average) for smelting. " + "The feeders transferring items from/to adjacent have this consumption/8 for each stack transaction. " + "The default value is only slightly higher than a furnace with an IE external heater (and no burning fuel inside)." + "The config value can be changed on-the-fly for tuning.") .defineInRange("e_furnace_power_consumption", EdElectricalFurnace.ElectricalFurnaceTileEntity.DEFAULT_ENERGY_CONSUMPTION, 8, 4096); e_furnace_automatic_pulling = builder - .translation(ModEngineersDecor.MODID + ".config.e_furnace_automatic_pulling") + .translation(MODID + ".config.e_furnace_automatic_pulling") .comment("Defines if the electrical furnace automatically pulls items from an inventory at the input side." + "The config value can be changed on-the-fly for tuning.") .define("e_furnace_automatic_pulling", false); small_solar_panel_peak_production = builder - .translation(ModEngineersDecor.MODID + ".config.small_solar_panel_peak_production") + .translation(MODID + ".config.small_solar_panel_peak_production") .comment("Defines the peak power production (at noon) of the Small Solar Panel. " + "Note that the agerage power is much less, as no power is produced at all during the night, " + "and the power curve is nonlinear rising/falling during the day. Bad weather conditions also " + "decrease the production. The config value can be changed on-the-fly for tuning.") .defineInRange("small_solar_panel_peak_production", EdSolarPanel.SolarPanelTileEntity.DEFAULT_PEAK_POWER, 2, 4096); block_breaker_power_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_power_consumption") + .translation(MODID + ".config.block_breaker_power_consumption") .comment("Defines how much RF power the Small Block Breaker requires to magnificently increase the processing speed. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("block_breaker_power_consumption", EdBreaker.BreakerTileEntity.DEFAULT_BOOST_ENERGY, 4, 1024); block_breaker_reluctance = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_reluctance") + .translation(MODID + ".config.block_breaker_reluctance") .comment("Defines how much time the Small Block Breaker needs per block hardness, " + "means: 'reluctance' * hardness + min_time, you change the 'reluctance' here." + "The unit is ticks/hardness. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("block_breaker_reluctance", EdBreaker.BreakerTileEntity.DEFAULT_BREAKING_RELUCTANCE, 5, 50); block_breaker_min_breaking_time = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_min_breaking_time") + .translation(MODID + ".config.block_breaker_min_breaking_time") .comment("Defines how much time the Small Block Breaker needs at least, better said it's an offset: " + "'reluctance' * hardness + min_time, you change the 'min_time' here, value " + "in ticks." + "The config value can be changed on-the-fly for tuning.") .defineInRange("block_breaker_min_breaking_time", EdBreaker.BreakerTileEntity.DEFAULT_MIN_BREAKING_TIME, 10, 100); block_breaker_requires_power = builder - .translation(ModEngineersDecor.MODID + ".config.block_breaker_requires_power") + .translation(MODID + ".config.block_breaker_requires_power") .comment("Defines if the Small Block Breaker does not work without RF power.") .define("block_breaker_requires_power", false); tree_cuttter_energy_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.tree_cuttter_energy_consumption") + .translation(MODID + ".config.tree_cuttter_energy_consumption") .comment("Defines how much RF power the Small Tree Cutter requires to magnificently increase the processing speed. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("tree_cuttter_energy_consumption", EdTreeCutter.TreeCutterTileEntity.DEFAULT_BOOST_ENERGY, 4, 1024); tree_cuttter_cutting_time_needed = builder - .translation(ModEngineersDecor.MODID + ".config.tree_cuttter_cutting_time_needed") + .translation(MODID + ".config.tree_cuttter_cutting_time_needed") .comment("Defines how much time the Small Tree Cutter needs to cut a tree without RF power. " + "The value is in seconds. With energy it is 6 times faster. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("tree_cuttter_cutting_time_needed", EdTreeCutter.TreeCutterTileEntity.DEFAULT_CUTTING_TIME_NEEDED, 10, 240); tree_cuttter_requires_power = builder - .translation(ModEngineersDecor.MODID + ".config.tree_cuttter_requires_power") + .translation(MODID + ".config.tree_cuttter_requires_power") .comment("Defines if the Small Tree Cutter does not work without RF power.") .define("tree_cuttter_requires_power", false); milking_machine_energy_consumption = builder - .translation(ModEngineersDecor.MODID + ".config.milking_machine_energy_consumption") + .translation(MODID + ".config.milking_machine_energy_consumption") .comment("Defines how much time the Small Milking Machine needs work. " + "Note this is a permanent standby power, not only when the device does something. " + "Use zero to disable energy dependency and energy handling of the machine. " + "The config value can be changed on-the-fly for tuning.") .defineInRange("milking_machine_energy_consumption", EdMilker.MilkerTileEntity.DEFAULT_ENERGY_CONSUMPTION, 0, 1024); milking_machine_milking_delay = builder - .translation(ModEngineersDecor.MODID + ".config.milking_machine_milking_delay") + .translation(MODID + ".config.milking_machine_milking_delay") .comment("Defines (for each individual cow) the minimum time between milking." ) .defineInRange("milking_machine_milking_delay", EdMilker.MilkerTileEntity.DEFAULT_MILKING_DELAY_PER_COW, 1000, 24000); builder.pop(); @@ -491,96 +514,10 @@ public class ModConfig //-------------------------------------------------------------------------------------------------------------------- public static final boolean isOptedOut(final @Nullable Block block) - { return isOptedOut(block, false); } - - public static final boolean isOptedOut(final @Nullable Block block, boolean with_log_details) - { - if(block == null) return true; - if(block == ModContent.SIGN_MODLOGO) return true; - if(COMMON == null) return false; - try { - if(!COMMON.with_experimental.get()) { - if(block instanceof Auxiliaries.IExperimentalFeature) return true; - if(ModContent.isExperimentalBlock(block)) return true; - } - final String rn = block.getRegistryName().getPath(); - // Hard IE dependent blocks - if(!immersiveengineering_installed) { - if(block == ModContent.CONCRETE_WALL) return true; - if((block instanceof DecorBlock.Normal) && ((((DecorBlock.Normal)block).config & DecorBlock.CFG_HARD_IE_DEPENDENT) != 0)) return true; - if((block instanceof StandardBlocks.BaseBlock) && ((((StandardBlocks.BaseBlock)block).config & DecorBlock.CFG_HARD_IE_DEPENDENT) != 0)) return true; - } - // Force-include/exclude pattern matching - try { - for(String e:includes_) { - if(rn.matches(e)) { - if(with_log_details) ModEngineersDecor.logger().info("Optout force include: " + rn); - return false; - } - } - for(String e:excludes_) { - if(rn.matches(e)) { - if(with_log_details) ModEngineersDecor.logger().info("Optout force exclude: " + rn); - return true; - } - } - } catch(Throwable ex) { - ModEngineersDecor.logger().error("optout include pattern failed, disabling."); - includes_.clear(); - excludes_.clear(); - } - // Early non-opt out type based evaluation - if(block instanceof EdCraftingTable.CraftingTableBlock) return COMMON.without_crafting_table.get(); - if(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock) return COMMON.without_electrical_furnace.get(); - if((block instanceof EdFurnace.FurnaceBlock) && (!(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock))) return COMMON.without_lab_furnace.get(); - if(block instanceof EdFluidAccumulator.FluidAccumulatorBlock) return COMMON.without_passive_fluid_accumulator.get(); - if(block instanceof EdWasteIncinerator.WasteIncineratorBlock) return COMMON.without_waste_incinerator.get(); - if(block instanceof EdDropper.DropperBlock) return COMMON.without_factory_dropper.get(); - if(block instanceof EdPlacer.PlacerBlock) return COMMON.without_factory_placer.get(); - if(block instanceof EdBreaker.BreakerBlock) return COMMON.without_block_breaker.get(); - if(block instanceof EdSlabSliceBlock) return COMMON.without_halfslabs.get(); - if(block instanceof EdLadderBlock) return COMMON.without_ladders.get(); - if(block instanceof EdWindowBlock) return COMMON.without_windows.get(); - if(block instanceof EdPipeValve.PipeValveBlock) return COMMON.without_valves.get(); - if(block instanceof EdHorizontalSupportBlock) return COMMON.without_hsupports.get(); - if(block instanceof EdFloorGratingBlock) return COMMON.without_floor_grating.get(); - if(block instanceof EdHopper.HopperBlock) return COMMON.without_factory_hopper.get(); - if(block instanceof EdFluidFunnel.FluidFunnelBlock) return COMMON.without_fluid_funnel.get(); - if(block instanceof EdSolarPanel.SolarPanelBlock) return COMMON.without_solar_panel.get(); - if(block instanceof EdMineralSmelter.MineralSmelterBlock) return COMMON.without_mineral_smelter.get(); - if(block instanceof EdMilker.MilkerBlock) return COMMON.without_milking_machine.get(); - if(block instanceof EdTreeCutter.TreeCutterBlock) return COMMON.without_tree_cutter.get(); - // Type based evaluation where later filters may match, too - if(COMMON.without_slabs.get() && (block instanceof EdSlabBlock)) return true; - if(COMMON.without_stairs.get() && (block instanceof EdStairsBlock)) return true; - if(COMMON.without_walls.get() && (block instanceof EdWallBlock)) return true; - if(COMMON.without_poles.get() && (block instanceof EdStraightPoleBlock)) return true; - // String matching based evaluation - if(COMMON.without_clinker_bricks.get() && (rn.startsWith("clinker_brick_"))) return true; - if(COMMON.without_slag_bricks.get() && rn.startsWith("slag_brick_")) return true; - if(COMMON.without_rebar_concrete.get() && rn.startsWith("rebar_concrete")) return true; - if(COMMON.without_ie_concrete_wall.get() && rn.startsWith("concrete_wall")) return true; - if(COMMON.without_panzer_glass.get() && rn.startsWith("panzerglass_")) return true; - if(COMMON.without_light_sources.get() && rn.endsWith("_light")) return true; - if(COMMON.without_sign_plates.get() && rn.startsWith("sign_")) return true; - if(COMMON.without_treated_wood_furniture.get()) { - if(block instanceof EdChair.ChairBlock) return true; - if(rn.equals("treated_wood_table")) return true; - if(rn.equals("treated_wood_stool")) return true; - if(rn.equals("treated_wood_windowsill")) return true; - } - } catch(Exception ex) { - ModEngineersDecor.logger().error("Exception evaluating the optout config: '" + ex.getMessage() + "'"); - } - return false; - } + { return isOptedOut(block.asItem()); } public static final boolean isOptedOut(final @Nullable Item item) - { - if(item == null) return true; - if(SERVER == null) return false; - return false; - } + { return (item!=null) && optouts_.contains(item.getRegistryName().getPath()); } public static boolean withExperimental() { return with_experimental_features_; } @@ -591,24 +528,160 @@ public class ModConfig //-------------------------------------------------------------------------------------------------------------------- // Cache //-------------------------------------------------------------------------------------------------------------------- - private static final ArrayList includes_ = new ArrayList(); - private static final ArrayList excludes_ = new ArrayList(); + private static final CompoundNBT server_config_ = new CompoundNBT(); + private static HashSet optouts_ = new HashSet<>(); + private static boolean with_experimental_features_ = false; + private static boolean without_recipes_ = false; public static boolean without_crafting_table = false; public static boolean immersiveengineering_installed = false; public static boolean without_direct_slab_pickup = false; public static boolean with_creative_mode_device_drops = false; - private static boolean with_experimental_features_ = false; - private static boolean without_recipes_ = false; public static final CompoundNBT getServerConfig() // config that may be synchronized from server to client via net pkg. { return server_config_; } + private static final void updateOptouts() + { + final ArrayList includes_ = new ArrayList(); + final ArrayList excludes_ = new ArrayList(); + { + String inc = COMMON.pattern_includes.get().toLowerCase().replaceAll(MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); + if(COMMON.pattern_includes.get() != inc) COMMON.pattern_includes.set(inc); + if(!inc.isEmpty()) LOGGER.info("Config pattern includes: '" + inc + "'"); + String[] incl = inc.split(","); + includes_.clear(); + for(int i=0; i< incl.length; ++i) { + incl[i] = incl[i].replaceAll("[*]", ".*?"); + if(!incl[i].isEmpty()) includes_.add(incl[i]); + } + } + { + String exc = COMMON.pattern_excludes.get().toLowerCase().replaceAll(MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); + if(!exc.isEmpty()) LOGGER.info("Config pattern excludes: '" + exc + "'"); + String[] excl = exc.split(","); + excludes_.clear(); + for(int i=0; i< excl.length; ++i) { + excl[i] = excl[i].replaceAll("[*]", ".*?"); + if(!excl[i].isEmpty()) excludes_.add(excl[i]); + } + } + { + boolean with_log_details = false; + HashSet optouts = new HashSet<>(); + ModContent.getRegisteredItems().stream().filter((Item item) -> { + if(item == null) return true; + if(SERVER == null) return false; + return false; + }).forEach( + e -> optouts.add(e.getRegistryName().getPath()) + ); + ModContent.getRegisteredBlocks().stream().filter((Block block) -> { + if(block==null) return true; + if(block==ModContent.SIGN_MODLOGO) return true; + if(COMMON==null) return false; + try { + if(!COMMON.with_experimental.get()) { + if(block instanceof Auxiliaries.IExperimentalFeature) return true; + if(ModContent.isExperimentalBlock(block)) return true; + } + final String rn = block.getRegistryName().getPath(); + // Hard IE dependent blocks + if(!immersiveengineering_installed) { + if(block==ModContent.CONCRETE_WALL) return true; + if((block instanceof DecorBlock.Normal)&&((((DecorBlock.Normal)block).config&DecorBlock.CFG_HARD_IE_DEPENDENT)!=0)) + return true; + if((block instanceof StandardBlocks.BaseBlock)&&((((StandardBlocks.BaseBlock)block).config&DecorBlock.CFG_HARD_IE_DEPENDENT)!=0)) + return true; + } + // Force-include/exclude pattern matching + try { + for(String e : includes_) { + if(rn.matches(e)) { + if(with_log_details) LOGGER.info("Optout force include: "+rn); + return false; + } + } + for(String e : excludes_) { + if(rn.matches(e)) { + if(with_log_details) LOGGER.info("Optout force exclude: "+rn); + return true; + } + } + } catch(Throwable ex) { + LOGGER.error("optout include pattern failed, disabling."); + includes_.clear(); + excludes_.clear(); + } + // Early non-opt out type based evaluation + if(block instanceof EdCraftingTable.CraftingTableBlock) return COMMON.without_crafting_table.get(); + if(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock) return COMMON.without_electrical_furnace.get(); + if((block instanceof EdFurnace.FurnaceBlock)&&(!(block instanceof EdElectricalFurnace.ElectricalFurnaceBlock))) return COMMON.without_lab_furnace.get(); + if(block instanceof EdFluidAccumulator.FluidAccumulatorBlock) return COMMON.without_passive_fluid_accumulator.get(); + if(block instanceof EdWasteIncinerator.WasteIncineratorBlock) return COMMON.without_waste_incinerator.get(); + if(block instanceof EdDropper.DropperBlock) return COMMON.without_factory_dropper.get(); + if(block instanceof EdPlacer.PlacerBlock) return COMMON.without_factory_placer.get(); + if(block instanceof EdBreaker.BreakerBlock) return COMMON.without_block_breaker.get(); + if(block instanceof EdSlabSliceBlock) return COMMON.without_halfslabs.get(); + if(block instanceof EdLadderBlock) return COMMON.without_ladders.get(); + if(block instanceof EdWindowBlock) return COMMON.without_windows.get(); + if(block instanceof EdPipeValve.PipeValveBlock) return COMMON.without_valves.get(); + if(block instanceof EdHorizontalSupportBlock) return COMMON.without_hsupports.get(); + if(block instanceof EdFloorGratingBlock) return COMMON.without_floor_grating.get(); + if(block instanceof EdHopper.HopperBlock) return COMMON.without_factory_hopper.get(); + if(block instanceof EdFluidFunnel.FluidFunnelBlock) return COMMON.without_fluid_funnel.get(); + if(block instanceof EdSolarPanel.SolarPanelBlock) return COMMON.without_solar_panel.get(); + if(block instanceof EdMineralSmelter.MineralSmelterBlock) return COMMON.without_mineral_smelter.get(); + if(block instanceof EdMilker.MilkerBlock) return COMMON.without_milking_machine.get(); + if(block instanceof EdTreeCutter.TreeCutterBlock) return COMMON.without_tree_cutter.get(); + if(block instanceof EdLabeledCrate.LabeledCrateBlock) return COMMON.without_labeled_crate.get(); + // Type based evaluation where later filters may match, too + if(COMMON.without_slabs.get()&&(block instanceof EdSlabBlock)) return true; + if(COMMON.without_stairs.get()&&(block instanceof EdStairsBlock)) return true; + if(COMMON.without_walls.get()&&(block instanceof EdWallBlock)) return true; + if(COMMON.without_poles.get()&&(block instanceof EdStraightPoleBlock)) return true; + // String matching based evaluation + if(COMMON.without_clinker_bricks.get()&&(rn.startsWith("clinker_brick_"))) return true; + if(COMMON.without_slag_bricks.get()&&rn.startsWith("slag_brick_")) return true; + if(COMMON.without_rebar_concrete.get()&&rn.startsWith("rebar_concrete")) return true; + if(COMMON.without_gas_concrete.get()&&rn.startsWith("gas_concrete")) return true; + if(COMMON.without_ie_concrete_wall.get()&&rn.startsWith("concrete_wall")) return true; + if(COMMON.without_panzer_glass.get()&&rn.startsWith("panzerglass_")) return true; + if(COMMON.without_light_sources.get()&&rn.endsWith("_light")) return true; + if(COMMON.without_sign_plates.get()&&rn.startsWith("sign_")) return true; + if(COMMON.without_treated_wood_furniture.get()) { + if(block instanceof EdChair.ChairBlock) return true; + if(rn.equals("treated_wood_table")) return true; + if(rn.equals("treated_wood_stool")) return true; + if(rn.equals("treated_wood_windowsill")) return true; + if(rn.equals("treated_wood_broad_windowsill")) return true; + if(rn.equals("treated_wood_side_table")) return true; + } + if(COMMON.without_metal_furniture.get()) { + if(rn.equals("steel_table")) return true; + } + if(COMMON.without_fences.get()) { + if(block instanceof EdFenceBlock) return true; + if(block instanceof EdDoubleGateBlock) return true; + } + } catch(Exception ex) { + LOGGER.error("Exception evaluating the optout config: '"+ex.getMessage()+"'"); + } + return false; + }).forEach( + e -> optouts.add(e.getRegistryName().getPath()) + ); + optouts_ = optouts; + } + } + public static final void apply() { - without_crafting_table = isOptedOut(ModContent.TREATED_WOOD_CRAFTING_TABLE); - immersiveengineering_installed = Auxiliaries.isModLoaded("immersiveengineering"); with_experimental_features_ = COMMON.with_experimental.get(); + if(with_experimental_features_) LOGGER.info("Config: EXPERIMENTAL FEATURES ENABLED."); + immersiveengineering_installed = Auxiliaries.isModLoaded("immersiveengineering"); + updateOptouts(); + without_crafting_table = isOptedOut(ModContent.TREATED_WOOD_CRAFTING_TABLE); without_recipes_ = COMMON.without_recipes.get(); without_direct_slab_pickup = COMMON.without_direct_slab_pickup.get(); // ----------------------------------------------------------------------------------------------------------------- @@ -626,34 +699,15 @@ public class ModConfig EdSlabSliceBlock.on_config(!COMMON.without_direct_slab_pickup.get()); EdLabeledCrate.on_config(false); // ----------------------------------------------------------------------------------------------------------------- - if(with_experimental_features_) { - ModEngineersDecor.logger().info("Config: EXPERIMENTAL FEATURES ENABLED."); - } - { - String inc = COMMON.pattern_includes.get().toLowerCase().replaceAll(ModEngineersDecor.MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); - if(COMMON.pattern_includes.get() != inc) COMMON.pattern_includes.set(inc); - if(!inc.isEmpty()) ModEngineersDecor.logger().info("Config pattern includes: '" + inc + "'"); - String[] incl = inc.split(","); - includes_.clear(); - for(int i=0; i< incl.length; ++i) { - incl[i] = incl[i].replaceAll("[*]", ".*?"); - if(!incl[i].isEmpty()) includes_.add(incl[i]); - } - } - { - String exc = COMMON.pattern_includes.get().toLowerCase().replaceAll(ModEngineersDecor.MODID+":", "").replaceAll("[^*_,a-z0-9]", ""); - if(!exc.isEmpty()) ModEngineersDecor.logger().info("Config pattern excludes: '" + exc + "'"); - String[] excl = exc.split(","); - excludes_.clear(); - for(int i=0; i< excl.length; ++i) { - excl[i] = excl[i].replaceAll("[*]", ".*?"); - if(!excl[i].isEmpty()) excludes_.add(excl[i]); - } - } { // Check if the config is already synchronized or has to be synchronised. server_config_.putBoolean("tree_cuttter_requires_power", COMMON.tree_cuttter_requires_power.get()); server_config_.putBoolean("block_breaker_requires_power", COMMON.block_breaker_requires_power.get()); + { + String s = String.join(",", optouts_); + server_config_.putString("optout", s); + if(!s.isEmpty()) LOGGER.info("Opt-outs:" + s); + } } } } diff --git a/1.15/src/main/java/wile/engineersdecor/ModContent.java b/1.15/src/main/java/wile/engineersdecor/ModContent.java index 98d74d0..a2fcc82 100644 --- a/1.15/src/main/java/wile/engineersdecor/ModContent.java +++ b/1.15/src/main/java/wile/engineersdecor/ModContent.java @@ -18,6 +18,7 @@ import wile.engineersdecor.blocks.EdFurnace.FurnaceContainer; import wile.engineersdecor.blocks.EdFurnace.FurnaceGui; import wile.engineersdecor.blocks.EdFurnace.FurnaceTileEntity; import wile.engineersdecor.libmc.blocks.StandardBlocks; +import wile.engineersdecor.libmc.blocks.StandardBlocks.BaseBlock; import wile.engineersdecor.libmc.blocks.StandardBlocks.IStandardBlock; import wile.engineersdecor.libmc.detail.Auxiliaries; import net.minecraft.block.material.MaterialColor; @@ -49,6 +50,7 @@ import org.apache.commons.lang3.ArrayUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; import java.util.Collections; import javax.annotation.Nonnull; @@ -603,7 +605,7 @@ public class ModContent } )).setRegistryName(new ResourceLocation(ModEngineersDecor.MODID, "small_fluid_funnel")); - public static final EdLabeledCrate.DecorLabeledCrateBlock LABELED_CRATE = (EdLabeledCrate.DecorLabeledCrateBlock)(new EdLabeledCrate.DecorLabeledCrateBlock( + public static final EdLabeledCrate.LabeledCrateBlock LABELED_CRATE = (EdLabeledCrate.LabeledCrateBlock)(new EdLabeledCrate.LabeledCrateBlock( DecorBlock.CFG_HORIZIONTAL|DecorBlock.CFG_LOOK_PLACEMENT|DecorBlock.CFG_OPPOSITE_PLACEMENT, Block.Properties.create(Material.WOOD, MaterialColor.WOOD).hardnessAndResistance(0.5f, 128f).sound(SoundType.METAL).notSolid(), Auxiliaries.getPixeledAABB(0,0,0, 16,16,16) @@ -720,12 +722,12 @@ public class ModContent HALFSLAB_REBARCONCRETE, HALFSLAB_GASCONCRETE, HALFSLAB_CONCRETE, - //HALFSLAB_TREATEDWOOD, - //HALFSLAB_SHEETMETALIRON - //HALFSLAB_SHEETMETALSTEEL, - //HALFSLAB_SHEETMETALCOPPER, - //HALFSLAB_SHEETMETALGOLD, - //HALFSLAB_SHEETMETALALUMINIUM, + HALFSLAB_TREATEDWOOD, + HALFSLAB_SHEETMETALIRON, + HALFSLAB_SHEETMETALSTEEL, + HALFSLAB_SHEETMETALCOPPER, + HALFSLAB_SHEETMETALGOLD, + HALFSLAB_SHEETMETALALUMINIUM, CONCRETE_WALL, PANZERGLASS_BLOCK, PANZERGLASS_SLAB, @@ -958,10 +960,25 @@ public class ModContent public static List getRegisteredBlocks() { return Collections.unmodifiableList(registeredBlocks); } + @Nonnull + public static List getRegisteredItems() + { return new ArrayList<>(); } + public static final void registerBlocks(final RegistryEvent.Register event) { - if(Auxiliaries.isModLoaded("immersiveengineering")) Auxiliaries.logInfo("Immersive Engineering also installed ..."); - registeredBlocks.addAll(allBlocks()); + boolean ie_available = Auxiliaries.isModLoaded("immersiveengineering"); + if(ie_available) { + Auxiliaries.logInfo("Immersive Engineering also installed ..."); + registeredBlocks.addAll(allBlocks()); + } else { + registeredBlocks.addAll(allBlocks().stream() + .filter(block-> + ((!(block instanceof BaseBlock)) || ((((BaseBlock)block).config & DecorBlock.CFG_HARD_IE_DEPENDENT)==0)) + || (block == HALFSLAB_CONCRETE) + ) + .collect(Collectors.toList()) + ); + } for(Block e:registeredBlocks) event.getRegistry().register(e); Auxiliaries.logInfo("Registered " + Integer.toString(registeredBlocks.size()) + " blocks."); } diff --git a/1.15/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java b/1.15/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java index 616c2f0..016d04d 100644 --- a/1.15/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java +++ b/1.15/src/main/java/wile/engineersdecor/blocks/EdElectricalFurnace.java @@ -123,7 +123,7 @@ public class EdElectricalFurnace public static final int HEAT_INCREMENT = 20; public static final int MAX_ENERGY_TRANSFER = 1024; public static final int MAX_ENERGY_BUFFER = 32000; - public static final int MAX_SPEED_SETTING = 2; + public static final int MAX_SPEED_SETTING = 3; public static final int NUM_OF_SLOTS = 7; public static final int SMELTING_INPUT_SLOT_NO = 0; public static final int SMELTING_AUX_SLOT_NO = 1; @@ -196,7 +196,7 @@ public class EdElectricalFurnace proc_time_needed_ = nbt.getInt("CookTimeTotal"); energy_stored_ = nbt.getInt("Energy"); speed_ = nbt.getInt("SpeedSetting"); - speed_ = (speed_ < 0) ? (1) : ((speed_>3) ? 3 : speed_); + speed_ = (speed_ < 0) ? (1) : ((speed_>MAX_SPEED_SETTING) ? MAX_SPEED_SETTING : speed_); } protected void writenbt(CompoundNBT nbt) @@ -492,7 +492,7 @@ public class EdElectricalFurnace } else if(energy_stored_ >= (MAX_ENERGY_BUFFER/2)) { enabled_ = true; } - if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (enabled_) && (speed_>0) && (speed_<4)) { + if((!(stacks_.get(SMELTING_INPUT_SLOT_NO)).isEmpty()) && (enabled_) && (speed_>0) && (speed_<=MAX_SPEED_SETTING)) { IRecipe last_recipe = currentRecipe(); updateCurrentRecipe(); if(currentRecipe() != last_recipe) { @@ -768,7 +768,7 @@ public class EdElectricalFurnace { if(!(inventory_ instanceof ElectricalFurnaceTileEntity)) return; ElectricalFurnaceTileEntity te = (ElectricalFurnaceTileEntity)inventory_; - if(nbt.contains("speed")) te.speed_ = MathHelper.clamp(nbt.getInt("speed"), 0, 3); + if(nbt.contains("speed")) te.speed_ = MathHelper.clamp(nbt.getInt("speed"), 0, ElectricalFurnaceTileEntity.MAX_SPEED_SETTING); te.markDirty(); } } diff --git a/1.15/src/main/java/wile/engineersdecor/blocks/EdLabeledCrate.java b/1.15/src/main/java/wile/engineersdecor/blocks/EdLabeledCrate.java index 380ed20..9273354 100644 --- a/1.15/src/main/java/wile/engineersdecor/blocks/EdLabeledCrate.java +++ b/1.15/src/main/java/wile/engineersdecor/blocks/EdLabeledCrate.java @@ -80,9 +80,9 @@ public class EdLabeledCrate // Block //-------------------------------------------------------------------------------------------------------------------- - public static class DecorLabeledCrateBlock extends StandardBlocks.Horizontal implements IDecorBlock + public static class LabeledCrateBlock extends StandardBlocks.Horizontal implements IDecorBlock { - public DecorLabeledCrateBlock(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB) + public LabeledCrateBlock(long config, Block.Properties builder, final AxisAlignedBB unrotatedAABB) { super(config, builder, unrotatedAABB); } @Override diff --git a/1.15/src/main/java/wile/engineersdecor/detail/ModRenderers.java b/1.15/src/main/java/wile/engineersdecor/detail/ModRenderers.java index 4a2a3e7..bf9691a 100644 --- a/1.15/src/main/java/wile/engineersdecor/detail/ModRenderers.java +++ b/1.15/src/main/java/wile/engineersdecor/detail/ModRenderers.java @@ -145,7 +145,7 @@ public class ModRenderers try { final ItemStack stack = te.getItemFrameStack(); if(stack.isEmpty()) return; - final int di = MathHelper.clamp(te.getWorld().getBlockState(te.getPos()).get(EdLabeledCrate.DecorLabeledCrateBlock.HORIZONTAL_FACING).getHorizontalIndex(), 0, 3); + final int di = MathHelper.clamp(te.getWorld().getBlockState(te.getPos()).get(EdLabeledCrate.LabeledCrateBlock.HORIZONTAL_FACING).getHorizontalIndex(), 0, 3); double ox = tr[di][0], oy = tr[di][1], oz = tr[di][2]; float ry = (float)tr[di][3]; mxs.push(); diff --git a/1.15/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java b/1.15/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java index 2c8c1dd..c52d860 100644 --- a/1.15/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java +++ b/1.15/src/main/java/wile/engineersdecor/eapi/jei/JEIPlugin.java @@ -17,10 +17,13 @@ import mezz.jei.api.registration.IRecipeTransferRegistration; import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.runtime.IJeiRuntime; import net.minecraft.block.Block; +import net.minecraft.item.BlockItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.stream.Collectors; @mezz.jei.api.JeiPlugin @@ -49,15 +52,21 @@ public class JEIPlugin implements mezz.jei.api.IModPlugin @Override public void onRuntimeAvailable(IJeiRuntime jeiRuntime) { - List blacklisted = new ArrayList<>(); + HashSet blacklisted = new HashSet<>(); for(Block e: ModContent.getRegisteredBlocks()) { - if(ModConfig.isOptedOut(e)) { - blacklisted.add(new ItemStack(e.asItem())); + if(ModConfig.isOptedOut(e) && (e.asItem().getRegistryName().getPath()).equals((e.getRegistryName().getPath()))) { + blacklisted.add(e.asItem()); + } + } + for(Item e: ModContent.getRegisteredItems()) { + if(ModConfig.isOptedOut(e) && (!(e instanceof BlockItem))) { + blacklisted.add(e); } } if(!blacklisted.isEmpty()) { + List blacklist = blacklisted.stream().map(ItemStack::new).collect(Collectors.toList()); try { - jeiRuntime.getIngredientManager().removeIngredientsAtRuntime(VanillaTypes.ITEM, blacklisted); + jeiRuntime.getIngredientManager().removeIngredientsAtRuntime(VanillaTypes.ITEM, blacklist); } catch(Exception e) { ModEngineersDecor.logger().warn("Exception in JEI opt-out processing: '" + e.getMessage() + "', skipping further JEI optout processing."); } diff --git a/1.15/src/main/java/wile/engineersdecor/libmc/datagen/AssetsDataGen.java b/1.15/src/main/java/wile/engineersdecor/libmc/datagen/AssetsDataGen.java new file mode 100644 index 0000000..6eff1eb --- /dev/null +++ b/1.15/src/main/java/wile/engineersdecor/libmc/datagen/AssetsDataGen.java @@ -0,0 +1,47 @@ +/* + * @file BlockStateDataGen.java + * @author Stefan Wilhelm (wile) + * @copyright (C) 2019 Stefan Wilhelm + * @license MIT (see https://opensource.org/licenses/MIT) + * + * Blockstate data generator. + */ +package wile.engineersdecor.libmc.datagen; + +import net.minecraft.block.Blocks; +import wile.engineersdecor.libmc.detail.Auxiliaries; +import net.minecraftforge.client.model.generators.*; +import net.minecraft.data.*; + +public class AssetsDataGen +{ + public static class BlockStates extends BlockStateProvider + { + public BlockStates(DataGenerator gen, ExistingFileHelper efh) + { super(gen, Auxiliaries.modid(), efh); } + + @Override + public String getName() + { return Auxiliaries.modid() + " Block states"; } + + @Override + protected void registerStatesAndModels() + { + } + } + + public static class ItemModels extends ItemModelProvider + { + public ItemModels(DataGenerator generator, ExistingFileHelper efh) + { super(generator, Auxiliaries.modid(), efh); } + + @Override + public String getName() + { return Auxiliaries.modid() + "Item models"; } + + @Override + protected void registerModels() + { + } + } +} diff --git a/1.15/src/main/java/wile/engineersdecor/libmc/datagen/LootTableGen.java b/1.15/src/main/java/wile/engineersdecor/libmc/datagen/LootTableGen.java index addf4fb..ec69461 100644 --- a/1.15/src/main/java/wile/engineersdecor/libmc/datagen/LootTableGen.java +++ b/1.15/src/main/java/wile/engineersdecor/libmc/datagen/LootTableGen.java @@ -1,5 +1,5 @@ /* - * @file ModLootTables.java + * @file LootTableGen.java * @author Stefan Wilhelm (wile) * @copyright (C) 2019 Stefan Wilhelm * @license MIT (see https://opensource.org/licenses/MIT) diff --git a/1.15/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java b/1.15/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java index 631cb46..8ee8f2f 100644 --- a/1.15/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java +++ b/1.15/src/main/java/wile/engineersdecor/libmc/detail/Inventories.java @@ -10,10 +10,12 @@ package wile.engineersdecor.libmc.detail; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; +import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; +import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.inventory.IInventory; @@ -88,6 +90,8 @@ public class Inventories private static ItemStack checked(ItemStack stack) { return stack.isEmpty() ? ItemStack.EMPTY : stack; } // explicit EMPTY return + //-------------------------------------------------------------------------------------------------------------------- + public static class SlotRange { public final IInventory inventory; @@ -138,7 +142,7 @@ public class Inventories for(int i = start_slot; i < end_slot; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); final ItemStack stack = inventory.getStackInSlot(sno); - if(stack.isEmpty() || (!inventory.isItemValidForSlot(sno, mvstack))) { + if(stack.isEmpty()) { empties[sno] = true; } else if(areItemStacksIdentical(stack, mvstack)) { matches[sno] = true; @@ -148,7 +152,7 @@ public class Inventories // first iteration: fillup existing stacks for(int i = start_slot; i < end_slot; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); - if(empties[sno] || !matches[sno]) continue; + if((empties[sno]) || (!matches[sno])) continue; final ItemStack stack = inventory.getStackInSlot(sno); int nmax = Math.min(limit_left, stack.getMaxStackSize() - stack.getCount()); if(mvstack.getCount() <= nmax) { @@ -180,7 +184,7 @@ public class Inventories } for(i=insert_start;i < insert_end; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); - if(!empties[sno]) continue; + if((!empties[sno]) || (!inventory.isItemValidForSlot(sno, mvstack))) continue; int nmax = Math.min(limit_left, mvstack.getCount()); ItemStack moved = mvstack.copy(); moved.setCount(nmax); @@ -195,7 +199,7 @@ public class Inventories final int sno = reverse ? (end_slot-1-i) : (i); if(!matches[sno]) continue; int ii = (empties[sno-1]) ? (sno-1) : (empties[sno+1] ? (sno+1) : -1); - if(ii >= 0) { + if((ii >= 0) && (inventory.isItemValidForSlot(ii, mvstack))) { int nmax = Math.min(limit_left, mvstack.getCount()); ItemStack moved = mvstack.copy(); moved.setCount(nmax); @@ -209,7 +213,7 @@ public class Inventories // third iteration: use any empty slots for(int i = start_slot; i < end_slot; ++i) { final int sno = reverse ? (end_slot-1-i) : (i); - if(!empties[sno]) continue; + if((!empties[sno]) || (!inventory.isItemValidForSlot(sno, mvstack))) continue; int nmax = Math.min(limit_left, mvstack.getCount()); ItemStack placed = mvstack.copy(); placed.setCount(nmax); @@ -303,4 +307,33 @@ public class Inventories { return inventory.isItemValidForSlot(offset+index, stack); } } + //-------------------------------------------------------------------------------------------------------------------- + + public static NonNullList readNbtStacks(CompoundNBT nbt, String key, int size) + { + NonNullList stacks = NonNullList.withSize(size, ItemStack.EMPTY); + if((nbt == null) || (!nbt.contains(key,10))) return stacks; + CompoundNBT stacknbt = nbt.getCompound(key); + ItemStackHelper.loadAllItems(stacknbt, stacks); + return stacks; + } + + public static CompoundNBT writeNbtStacks(CompoundNBT nbt, String key, NonNullList stacks, boolean omit_trailing_empty) + { + CompoundNBT stacknbt = new CompoundNBT(); + if(omit_trailing_empty) { + for(int i=stacks.size()-1; i>=0; --i) { + if(!stacks.get(i).isEmpty()) break; + stacks.remove(i); + } + } + ItemStackHelper.saveAllItems(stacknbt, stacks); + if(nbt == null) nbt = new CompoundNBT(); + nbt.put(key, stacknbt); + return nbt; + } + + public static CompoundNBT writeNbtStacks(CompoundNBT nbt, String key, NonNullList stacks) + { return writeNbtStacks(nbt, key, stacks, false); } + } diff --git a/1.15/src/main/resources/META-INF/mods.toml b/1.15/src/main/resources/META-INF/mods.toml index dde50f1..8e796b1 100644 --- a/1.15/src/main/resources/META-INF/mods.toml +++ b/1.15/src/main/resources/META-INF/mods.toml @@ -18,7 +18,7 @@ logoFile="logo.png" [[dependencies.engineersdecor]] modId="forge" mandatory=true - versionRange="[31.0.1,)" + versionRange="[31.1.0,)" ordering="NONE" side="BOTH" diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_gate_inventory.json b/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_gate_inventory.json index 6f09fa8..14ce8dc 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_gate_inventory.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_gate_inventory.json @@ -1,6 +1,6 @@ { "parent": "block/block", - "ambientocclusion": false, + "gui_light": "front", "textures": { "particle": "engineersdecor:block/fence/steel_mesh_fence", "s": "engineersdecor:block/fence/steel_mesh_fence", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_inventory.json b/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_inventory.json index 85ee931..203ed82 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_inventory.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/fence/steel_mesh_fence_inventory.json @@ -1,6 +1,6 @@ { "parent": "block/block", - "ambientocclusion": false, + "gui_light": "front", "textures": { "wall": "engineersdecor:block/fence/steel_mesh_fence", "particle": "engineersdecor:block/fence/steel_mesh_fence", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json index 7fa76d3..135dc7f 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_ladder_model.json @@ -1,5 +1,6 @@ { "parent": "block/block", + "gui_light": "front", "textures": { "particle": "engineersdecor:block/iestyle/steel_texture", "o": "engineersdecor:block/iestyle/steel_texture" diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json index c63879d..1319168 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/metal_rung_steps_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "o": "engineersdecor:block/iestyle/steel_texture", "particle": "engineersdecor:block/iestyle/steel_texture" diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/treated_wood_ladder_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/treated_wood_ladder_model.json index 7fc5bad..3a165ce 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/treated_wood_ladder_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/ladder/treated_wood_ladder_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "o": "engineersdecor:block/iestyle/treated_wood_rough_texture", "particle": "engineersdecor:block/iestyle/treated_wood_rough_texture" diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/misc/labeled_crate_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/misc/labeled_crate_model.json index 377297f..c78b273 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/misc/labeled_crate_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/misc/labeled_crate_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "f": "engineersdecor:block/misc/labeled_crate_front_texture", "particle": "engineersdecor:block/misc/labeled_crate_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_head_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_head_model.json index 8636186..a096dc5 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_head_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_head_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "side": "engineersdecor:block/pole/treated_wood_pole_side_texture", "particle": "engineersdecor:block/pole/treated_wood_pole_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_model.json index 057c160..cadb575 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "side": "engineersdecor:block/pole/treated_wood_pole_side_texture", "particle": "engineersdecor:block/pole/treated_wood_pole_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_support_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_support_model.json index 963cf33..ef42384 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_support_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_pole_support_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "side": "engineersdecor:block/pole/treated_wood_pole_side_texture", "particle": "engineersdecor:block/pole/treated_wood_pole_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_head_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_head_model.json index 4aec1df..956ada9 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_head_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_head_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "side": "engineersdecor:block/pole/thick_steel_pole_side_texture", "particle": "engineersdecor:block/pole/thick_steel_pole_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_model.json index 3f4f24a..fc51027 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thick_metal_pole_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "side": "engineersdecor:block/pole/thick_steel_pole_side_texture", "particle": "engineersdecor:block/pole/thick_steel_pole_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_head_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_head_model.json index 5a4cb7c..6ed7c94 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_head_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_head_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "side": "engineersdecor:block/pole/thin_steel_pole_side_texture", "particle": "engineersdecor:block/pole/thin_steel_pole_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_model.json index 6722d35..76cf6ce 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/pole/straight_thin_metal_pole_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "side": "engineersdecor:block/pole/thin_steel_pole_side_texture", "particle": "engineersdecor:block/pole/thin_steel_pole_side_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_decor_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_decor_model.json index 4c4fcd6..9870b0a 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_decor_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_decor_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "s": "engineersdecor:block/iestyle/treated_wood_rough_texture", "f": "engineersdecor:block/sign/engineersdecor-logo", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json index a219e0e..6ca6672 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_exit_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "s": "engineersdecor:block/iestyle/treated_wood_rough_texture", "particle": "engineersdecor:block/iestyle/treated_wood_rough_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_rect14x14_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_rect14x14_model.json index 0c15b38..392e91b 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_rect14x14_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_rect14x14_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "s": "engineersdecor:block/iestyle/treated_wood_rough_texture", "particle": "engineersdecor:block/iestyle/treated_wood_rough_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_triangular_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_triangular_model.json index 5a866ae..1bced54 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_triangular_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/sign/sign_triangular_model.json @@ -1,5 +1,6 @@ { - "parent": "block/block", + "parent": "block/block", + "gui_light": "front", "textures": { "s": "engineersdecor:block/iestyle/treated_wood_rough_texture", "particle": "engineersdecor:block/iestyle/treated_wood_rough_texture", diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json index 010c521..0cc0562 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json index 1701125..5137fa2 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json index 15a1bfd..e4b5bc3 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json index da2daf0..a341146 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json index 6f9d10d..2d9ff0b 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json index 97c46bd..963f644 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json index 114e60b..386f7d2 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json index af9fc2a..8ae1c28 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json index 9aae690..03b6a03 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json index c59ece1..2996e8f 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json index 32a099d..99e67eb 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json index 012a455..4916cc3 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json index 22be791..038e8ca 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json index 7e86a61..5e47f6d 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json index a1a6c9b..f8758b2 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_aluminum_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json index b4fae7c..2f55988 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json index bc66e0d..f517d77 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json index dc3e425..9431803 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json index 90c774f..a08a050 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json index db2cb66..2acd61c 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json index 774cbfd..7410c2b 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json index 50631c2..4f1438f 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json index bf7a696..1a3e1ad 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json index 8d2fc72..9fa6e1e 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json index 6b1c323..5af27cd 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json index 460a411..a540aba 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json index 196f65d..176f23a 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json index 75144ab..aae6702 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json index f3e0609..151de82 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json index 3e41aa4..3aa629a 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_copper_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json index cc127ab..2b2ecd4 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json index 4bf17e3..3d8db0c 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json index 33985e8..75987e0 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json index ba1dfdf..4fb230a 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json index 5a28b0e..116afd4 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json index 4ad018a..8474301 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json index 9baf84a..e8f67a4 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json index 067bf85..2d65187 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json index 310b3b8..6678955 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json index d80f4df..ae8f7b3 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json index cc7bad3..0ffbf17 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json index e2b2371..c848915 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json index 05f3593..bd7b709 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json index 7bc9ba7..9766ee9 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json index 735a49e..fe86c98 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_gold_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json index cc5457f..c68a8cf 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json index 80d61a1..0395cae 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json index 0fe74e2..a169032 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json index d46b68a..f255a40 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json index 03b0e72..327f6ec 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json index ebd8de7..4de2f26 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json index 6e320ce..4658327 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json index 6597c88..e7c42b8 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json index 35ef68d..7fd02a1 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json index ce7757e..bf1dc63 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json index 4b646cc..8a8a5f5 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json index bfdcf64..f8dbf5b 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json index da65821..de421e9 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json index ee5a817..859bd78 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json index f283f62..676bcaf 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_iron_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json index 15cbe2a..bbb5cba 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json index 535e9bc..097a39b 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json index 01b1492..60f099f 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json index 4787f8f..0f62a50 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json index 0dd6af2..9ddef82 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json index 8728aec..f61c907 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json index 1578928..35afe35 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json index 1c96baf..d8673fe 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json index 8ac9d61..8a5e9d7 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json index f29c546..229786c 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json index 11e806b..724e523 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json index 4f62472..c29880f 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json index 2bbdc25..b5e90b7 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json index cb669a9..1566ab2 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json index c90cc2a..e230e1a 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_sheetmetal_steel_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json index e407cc4..a257b97 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s0_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s0_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json index 246e37c..c3574a5 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s1_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s1_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json index 5c2ea42..98979c5 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s2_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s2_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json index fdccbed..dc1f78e 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s3_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s3_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json index 0b7c181..97212f3 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s4_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s4_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json index 61a9c8b..0302813 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s5_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s5_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json index 97b3a2b..ab8e456 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s6_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s6_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json index 813ec2e..a78a728 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s7_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s7_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json index 47b1ee2..2c5c17c 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s8_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s8_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json index 0014aa3..69d4f74 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_s9_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_s9_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json index 7c3dca8..a48863c 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sa_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sa_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json index b42c04e..f595960 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sb_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sb_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json index 826f246..7da1eaa 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sc_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sc_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json index a3fc117..ddedfc0 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_sd_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_sd_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json index 4504ff2..5da6b1c 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/block/slab/specific/halfslab_treated_wood_se_model.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_se_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json index 378409c..aab3bad 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_aluminum.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_aluminum"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_aluminum"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json index 2f40718..cb024a4 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_copper.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_copper"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_copper"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json index 16db637..09fd8a5 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_gold.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_gold"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_gold"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json index 9b7c6af..ef26533 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_iron.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_iron"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_iron"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json index a311aa2..f6c7b8c 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_sheetmetal_steel.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/sheetmetal_steel"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/metal/sheetmetal_steel"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json index a36c04a..f8d7784 100644 --- a/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json +++ b/1.15/src/main/resources/assets/engineersdecor/models/item/halfslab_treated_wood.json @@ -1 +1 @@ -{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:blocks/treated_wood"}} \ No newline at end of file +{"parent":"engineersdecor:block/slab/generic/halfslab_inventory_model","textures":{"all":"immersiveengineering:block/wooden_decoration/treated_wood"}} \ No newline at end of file diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png index 799fffe..d434d80 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture0.png differ diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png index 90d5912..c03f44a 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture1.png differ diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png index a50b4db..c8f425b 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture2.png differ diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png index 3be27d1..742912d 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture3.png differ diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png index 2784802..48da301 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture4.png differ diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png index 3137cb9..4040c84 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture5.png differ diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png index 7f3cffc..d703fc8 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture6.png differ diff --git a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png index 60d1ed6..4e5a7a0 100644 Binary files a/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png and b/1.15/src/main/resources/assets/engineersdecor/textures/block/soil/dense_grit_sand_texture7.png differ diff --git a/1.15/tasks.js b/1.15/tasks.js deleted file mode 100644 index 1f8f945..0000000 --- a/1.15/tasks.js +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/djs -"use strict"; -const constants = include("../meta/lib/constants.js")(); -const libtask = include("../meta/lib/libtask.js")(constants); -libtask.run({}, sys.args); diff --git a/Makefile b/Makefile index 6c88381..086b4f4 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # Note for reviewers/clones: This file is a auxiliary script for my setup. # It's not needed to build the mod. # -.PHONY: default init clean clean-all mrproper sanatize dist dist-all update-json sync-main-repo compare migrate-from-112 +.PHONY: default init clean clean-all mrproper sanitize dist dist-all combined-update-json sync-main-repo default: ; @echo "First change to specific version directory." dist: default @@ -26,15 +26,15 @@ mrproper: -@cd 1.14; make -s mrproper -@cd 1.15; make -s mrproper -update-json: +combined-update-json: @echo "[main] Update update.json ..." - @djs tasks.js update-json + @djs meta/lib/tasks.js combined-update-json -sanatize: - @cd 1.12; make -s sanatize - @cd 1.14; make -s sanatize - @cd 1.15; make -s sanatize - @make -s update-json +sanitize: + @cd 1.12; make -s sanitize + @cd 1.14; make -s sanitize + @cd 1.15; make -s sanitize + @make -s combined-update-json init: -@cd 1.12; make -s init @@ -46,13 +46,6 @@ dist-all: clean-all init -@cd 1.14; make -s dist -@cd 1.15; make -s dist -compare: - @djs tasks.js compare-blockstates -v - @djs tasks.js compare-textures -v - -# For reviewers: I am using a local repository for experimental changes, -# this target copies the local working tree to the location of the -# repository that you cloned. -sync-main-repo: sanatize update-json +sync-main-repo: sanitize @echo "[main] Synchronising to github repository working tree ..." - @djs tasks.js sync-main-repository + @djs meta/lib/tasks.js sync-main-repository diff --git a/meta/lib/liblang.1.12.js b/meta/lib/liblang.1.12.js index bdf6eec..0aafca3 100644 --- a/meta/lib/liblang.1.12.js +++ b/meta/lib/liblang.1.12.js @@ -197,7 +197,7 @@ for(var name in output_data) output_data[name] = output_data[name].trim() + "\n"; for(var name in output_data) { - fs.writefile("./src/main/resources/assets/engineersdecor/lang/" + name + ".lang", output_data[name]); + fs.writefile("./src/main/resources/assets/"+ constants.mod_registry_name() +"/lang/" + name + ".lang", output_data[name]); } }; diff --git a/meta/lib/libtask.js b/meta/lib/libtask.js index a9039de..7a5b46e 100644 --- a/meta/lib/libtask.js +++ b/meta/lib/libtask.js @@ -364,7 +364,7 @@ const html = "
\n" + (hist.replace(/&/g, "&").replace(/>/g, ">").replace(/";
     fs.writefile("dist/" + modid + "-" + version + ".html", html);
   };
-  stdtasks["sanatize"] = function() {
+  stdtasks["sanitize"] = function() {
     me.sanatizing.remove_trailing_whitespaces(['java','json','lang']);
     me.sanatizing.tabs_to_spaces(['java','lang']);
     me.sanatizing.lang_json_newline_fixes();
@@ -419,14 +419,17 @@
     const liblang = include( (me.parsing.version_data().minecraft == "1.12.2") ? ("../meta/lib/liblang.1.12.js") : ("../meta/lib/liblang.1.13.js"))(constants);
     liblang.sync_languages();
   };
+  stdtasks["install"] = function() {
+  };
+  stdtasks["start-server"] = function() {
+  };
 
   /**
    * Task main
    */
-  me.run = function(tasks, args, no_std_tasks, rel_root_path) {
-    if(rel_root_path===undefined) rel_root_path = "..";
-    if(!fs.chdir(fs.dirname(fs.realpath(sys.script)))) throw new Error("Failed to switch to mod source directory.");
-    if(!fs.isdir(rel_root_path+"/.git")) throw new Error("Missing git repository in parent directory of mod source.");
+  me.run = function(tasks, args, no_std_tasks) {
+    const root_dir = fs.realpath(fs.dirname(sys.script)+"/../..");
+    if(!fs.isdir(root_dir+"/.git")) throw new Error("Missing git repository in parent directory of mod source.");
     if(!no_std_tasks) {
       for(var key in stdtasks) {
         if(tasks[key]===undefined) tasks[key] = stdtasks[key];
@@ -441,7 +444,12 @@
       alert("No task '" + task_name + "' defined.");
       exit(1);
     } else {
-      tasks[task_name](task_args);
+      const pwd = fs.cwd();
+      try {
+        tasks[task_name](task_args);
+      } finally {
+        fs.chdir(pwd);
+      }
     }
   };
 
diff --git a/tasks.js b/meta/lib/tasks.js
similarity index 84%
rename from tasks.js
rename to meta/lib/tasks.js
index ff1a90f..ecf41c2 100644
--- a/tasks.js
+++ b/meta/lib/tasks.js
@@ -1,15 +1,14 @@
 #!/usr/bin/djs
 "use strict";
-// Note for reviewers/clones: This file is a auxiliary script for my setup. It's not needed to build the mod.
-const constants = include("meta/lib/constants.js")();
-const libtask = include("meta/lib/libtask.js")(constants);
+const root_dir = fs.realpath(fs.dirname(sys.script)+"/../..");
+const constants = include(fs.dirname(fs.realpath(sys.script)) + "/constants.js")();
+const libtask = include(fs.dirname(fs.realpath(sys.script)) + "/libtask.js")(constants);
 const modid = constants.mod_registry_name();
 var tasks = {};
 
-tasks["update-json"] = function() {
-  const root_dir = fs.realpath(fs.dirname(sys.script));
+tasks["combined-update-json"] = function() {
   const update_json = {
-    homepage: "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
+    homepage: constants.project_download_inet_page(),
     promos: {}
   };
   var update_json_src = [];
@@ -37,11 +36,11 @@ tasks["update-json"] = function() {
 
 tasks["sync-main-repository"] = function() {
   // step-by-step-verbose operations, as the code bases and copy data are different.
-  if((!fs.chdir(fs.dirname(fs.realpath(sys.script)))) || (!fs.isdir(".git"))) throw new Error("Failed to switch to mod source directory.");
+  if((!fs.chdir(fs.dirname(fs.realpath(sys.script))+"/../..")) || (!fs.isdir(".git"))) throw new Error("Failed to switch to mod source directory.");
   if(sys.shell("git remote -v") != "") throw new Error("Dev repository has a remote set.");
   if(main_repo_local == "") throw new Error("Main repository (real) path not found.");
   const test_repo_local = fs.cwd();
-  const main_repo_local = fs.realpath("../engineersdecor-github");
+  const main_repo_local = fs.realpath("../"+ constants.mod_registry_name() + "-github");
   if(main_repo_local == fs.realpath(test_repo_local)) throw new Error("This is already the main repository");
   const cd_dev = function(subdir) {
     if((!fs.chdir(test_repo_local)) || (!fs.isdir(".git"))) throw new Error("Failed to switch to mod source directory.");
@@ -81,4 +80,4 @@ tasks["sync-main-repository"] = function() {
   print(sys.shell("git status -s"))
 };
 
-libtask.run(tasks, sys.args, true, ".");
+libtask.run(tasks, sys.args);
diff --git a/meta/update.json b/meta/update.json
index 74cbf0b..3269a7a 100644
--- a/meta/update.json
+++ b/meta/update.json
@@ -2,13 +2,14 @@
   "homepage": "https://www.curseforge.com/minecraft/mc-mods/engineers-decor/",
   "promos": {
     "1.12.2-recommended": "1.0.20",
-    "1.12.2-latest": "1.0.20",
+    "1.12.2-latest": "1.1.0-b1",
     "1.14.4-recommended": "",
-    "1.14.4-latest": "1.0.20-b7",
+    "1.14.4-latest": "1.1.0-b1",
     "1.15.2-recommended": "",
-    "1.15.2-latest": "1.0.20-b7"
+    "1.15.2-latest": "1.1.0-b1"
   },
   "1.12.2": {
+    "1.1.0-b1": "[F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace).\n[M] Changed Labeled Crate Nesting to circumvent server crashing in combination with the Sponge mod.",
     "1.0.20": "[R] Release based on v1.0.20-b6. Release-to-release changes: * Manual back ported. * Steel Mesh Fence Gate back ported. * E-Furnace speed selection switch back ported. * Labeled Crate back ported. * Minor bug fixes, compatibility changes.",
     "1.0.20-b6": "[F] Implemented compat related to issue #91.",
     "1.0.20-b5": "[A] Back-ported Patchouli based Manual (you need to install Vazkii_'s Patchouli, too).\n[A] Back-ported Steel Mesh Fence Gate.\n[M] Minor back-porting compatibility refractoring.",
@@ -96,6 +97,7 @@
     "1.0.0-b1": "[A] Initial structure.\n[A] Added clinker bricks and clinker brick stairs.\n[A] Added slag bricks and slag brick stairs.\n[A] Added metal rung ladder.\n[A] Added staggered metal steps ladder.\n[A] Added treated wood ladder.\n[A] Added treated wood pole.\n[A] Added treated wood table."
   },
   "1.14.4": {
+    "1.1.0-b1": "[F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace).\n[A] Sheet Metal Slab Slices added (only available if IE is installed).\n[M] Config options extended/updated.\n[M] Dense Grit Sand textures altered to get slightly more visible structure from distance.",
     "1.0.20-b7": "[A] Dense Grit Sand added.\n[!] Variant Slab compatibility fix. *This may alter placed slabs of this mod, data fixers don't work yet unfortunately*.",
     "1.0.20-b6": "[M] Slab Slice placement improved.\n[M] Quite some naming/refractoring under the hood.",
     "1.0.20-b5": "[A] Electrical Furnace can draw in smelting input items from an adjacent inventory when a Hopper is placed in the auxiliary slot.\n[M] Wrapped Labeled Crate label slot to prevent sorting mods from altering the label.",
@@ -150,6 +152,7 @@
     "1.0.7-b3": "[A] Initial 1.14.2 port of decorative blocks."
   },
   "1.15.2": {
+    "1.1.0-b1": "[F] Fixed Electrical Furnace speed sanitizing bug (issue #97, thx therobotmenace).\n[A] IE Sheet Metal Slab Slices added (only available if IE is installed).\n[M] Config options extended/updated.\n[M] GUI models updated to circumvent too dark representations.\n[M] Dense Grit Sand textures altered to get slightly more visible structure from distance.",
     "1.0.20-b7": "[A] Dense Grit Sand added.\n[!] Variant Slab compatibility fix. *This may alter placed slabs of this mod, data fixers don't work yet unfortunately*.",
     "1.0.20-b6": "[M] Slab Slice placement improved.\n[M] Quite some naming/refractoring under the hood.",
     "1.0.20-b5": "[A] Electrical Furnace can draw in smelting input items from an adjacent inventory when a Hopper is placed in the auxiliary slot.\n[M] Wrapped Labeled Crate label slot to prevent sorting mods from altering the label.",