From baa5c73fcca4f76734bbfdc6fa43dae4fd4871fe Mon Sep 17 00:00:00 2001 From: ticticboooom Date: Wed, 13 Apr 2022 11:32:03 +0100 Subject: [PATCH] added input/output rendering onto ports --- .../com/ticticboooom/mods/mm/block/PortBlock.java | 8 ++++++++ .../ticticboooom/mods/mm/block/item/MMItemGroup.java | 1 + .../mods/mm/block/item/PortBlockItem.java | 2 ++ .../mods/mm/block/ter/model/port/PortBlockModel.java | 12 +++++------- .../ticticboooom/mods/mm/block/tile/PortTile.java | 2 ++ .../ticticboooom/mods/mm/data/model/PortModel.java | 1 + .../mods/mm/data/reload/PortReloadListener.java | 1 + .../data/test/mm/port_tiers/fluid_input.json | 10 ++++++++++ .../{item_main.json => item_main_input.json} | 3 ++- .../data/test/mm/port_tiers/item_main_output.json | 10 ++++++++++ version.properties | 4 ++-- 11 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 src/test/resources/data/test/mm/port_tiers/fluid_input.json rename src/test/resources/data/test/mm/port_tiers/{item_main.json => item_main_input.json} (87%) create mode 100644 src/test/resources/data/test/mm/port_tiers/item_main_output.json diff --git a/src/main/java/com/ticticboooom/mods/mm/block/PortBlock.java b/src/main/java/com/ticticboooom/mods/mm/block/PortBlock.java index 495e95c..c0d493f 100644 --- a/src/main/java/com/ticticboooom/mods/mm/block/PortBlock.java +++ b/src/main/java/com/ticticboooom/mods/mm/block/PortBlock.java @@ -4,10 +4,16 @@ import com.ticticboooom.mods.mm.setup.MMTiles; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.material.Material; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.text.IFormattableTextComponent; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.world.IBlockReader; import javax.annotation.Nullable; +import java.util.List; public class PortBlock extends Block { @@ -25,4 +31,6 @@ public class PortBlock extends Block { public TileEntity createTileEntity(BlockState state, IBlockReader world) { return MMTiles.PORT.get().create(); } + + } diff --git a/src/main/java/com/ticticboooom/mods/mm/block/item/MMItemGroup.java b/src/main/java/com/ticticboooom/mods/mm/block/item/MMItemGroup.java index 719de76..c1af81b 100644 --- a/src/main/java/com/ticticboooom/mods/mm/block/item/MMItemGroup.java +++ b/src/main/java/com/ticticboooom/mods/mm/block/item/MMItemGroup.java @@ -47,6 +47,7 @@ public class MMItemGroup extends ItemGroup { ItemStack stack = new ItemStack(MMItems.PORT.get()); CompoundNBT tag = stack.getOrCreateTag(); tag.putString("Port", entry.getValue().id.toString()); + stack.setDisplayName(entry.getValue().name); controllers.add(stack); } return controllers; diff --git a/src/main/java/com/ticticboooom/mods/mm/block/item/PortBlockItem.java b/src/main/java/com/ticticboooom/mods/mm/block/item/PortBlockItem.java index 610956a..dfd5b9f 100644 --- a/src/main/java/com/ticticboooom/mods/mm/block/item/PortBlockItem.java +++ b/src/main/java/com/ticticboooom/mods/mm/block/item/PortBlockItem.java @@ -2,12 +2,14 @@ package com.ticticboooom.mods.mm.block.item; import com.ticticboooom.mods.mm.block.tile.PortTile; import com.ticticboooom.mods.mm.data.DataRegistry; +import com.ticticboooom.mods.mm.data.model.PortModel; import com.ticticboooom.mods.mm.setup.MMBlocks; import com.ticticboooom.mods.mm.util.TagHelper; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/com/ticticboooom/mods/mm/block/ter/model/port/PortBlockModel.java b/src/main/java/com/ticticboooom/mods/mm/block/ter/model/port/PortBlockModel.java index 7420018..9b381f6 100644 --- a/src/main/java/com/ticticboooom/mods/mm/block/ter/model/port/PortBlockModel.java +++ b/src/main/java/com/ticticboooom/mods/mm/block/ter/model/port/PortBlockModel.java @@ -40,13 +40,11 @@ public class PortBlockModel implements IDynamicBakedModel { PortModel port = data.getData(PORT); if (data.hasProperty(PORT) && port != null) { PortType portType = PortTypeRegistry.PORT_TYPES.get(port.type); - if (data.hasProperty(PORT_IO_TYPE)) { - Boolean isInput = data.getData(PORT_IO_TYPE); - if (isInput != null && isInput) { - quads.add(ModelTools.createQuad(portType.getInputCutout(), side)); - } else { - quads.add(ModelTools.createQuad(portType.getOutputCutout(), side)); - } + boolean isInput = port.input; + if (isInput) { + quads.add(ModelTools.createQuad(portType.getInputCutout(), side)); + } else { + quads.add(ModelTools.createQuad(portType.getOutputCutout(), side)); } } return quads; diff --git a/src/main/java/com/ticticboooom/mods/mm/block/tile/PortTile.java b/src/main/java/com/ticticboooom/mods/mm/block/tile/PortTile.java index 109b604..b21558a 100644 --- a/src/main/java/com/ticticboooom/mods/mm/block/tile/PortTile.java +++ b/src/main/java/com/ticticboooom/mods/mm/block/tile/PortTile.java @@ -30,4 +30,6 @@ public class PortTile extends TileEntity implements ITickableTileEntity { .withInitial(PortBlockModel.PORT_IO_TYPE, isInput) .build(); } + + } diff --git a/src/main/java/com/ticticboooom/mods/mm/data/model/PortModel.java b/src/main/java/com/ticticboooom/mods/mm/data/model/PortModel.java index 23b0b42..855a31f 100644 --- a/src/main/java/com/ticticboooom/mods/mm/data/model/PortModel.java +++ b/src/main/java/com/ticticboooom/mods/mm/data/model/PortModel.java @@ -11,4 +11,5 @@ public class PortModel { public ITextComponent name; public BlockstateModel defaultModel; public boolean showCutout; + public boolean input; } diff --git a/src/main/java/com/ticticboooom/mods/mm/data/reload/PortReloadListener.java b/src/main/java/com/ticticboooom/mods/mm/data/reload/PortReloadListener.java index b8d7fc0..5717354 100644 --- a/src/main/java/com/ticticboooom/mods/mm/data/reload/PortReloadListener.java +++ b/src/main/java/com/ticticboooom/mods/mm/data/reload/PortReloadListener.java @@ -45,6 +45,7 @@ public class PortReloadListener extends JsonReloadListener { model.controllerId = ResourceLocation.tryCreate(json.get("controllerId").getAsString()); model.defaultModel = ParserUtils.parseOrDefault(json, "defaultModel", (x) -> ParserUtils.parseBlockState(x.getAsJsonObject()), BlockstateModel.DEFAULT); model.showCutout = ParserUtils.parseOrDefault(json, "showCutout", JsonElement::getAsBoolean, true); + model.input = ParserUtils.parseOrDefault(json, "isInput", JsonElement::getAsBoolean, false); return model; } } diff --git a/src/test/resources/data/test/mm/port_tiers/fluid_input.json b/src/test/resources/data/test/mm/port_tiers/fluid_input.json new file mode 100644 index 0000000..d3bd902 --- /dev/null +++ b/src/test/resources/data/test/mm/port_tiers/fluid_input.json @@ -0,0 +1,10 @@ +{ + "controllerId": "test:main", + "name": "Main Fluids", + "type": "mm:fluids", + "defaultModel": { + "block": "minecraft:sponge", + "properties": {} + }, + "isInput": true +} \ No newline at end of file diff --git a/src/test/resources/data/test/mm/port_tiers/item_main.json b/src/test/resources/data/test/mm/port_tiers/item_main_input.json similarity index 87% rename from src/test/resources/data/test/mm/port_tiers/item_main.json rename to src/test/resources/data/test/mm/port_tiers/item_main_input.json index 3998414..a39c94b 100644 --- a/src/test/resources/data/test/mm/port_tiers/item_main.json +++ b/src/test/resources/data/test/mm/port_tiers/item_main_input.json @@ -5,5 +5,6 @@ "defaultModel": { "block": "minecraft:sponge", "properties": {} - } + }, + "isInput": true } \ No newline at end of file diff --git a/src/test/resources/data/test/mm/port_tiers/item_main_output.json b/src/test/resources/data/test/mm/port_tiers/item_main_output.json new file mode 100644 index 0000000..b3fc462 --- /dev/null +++ b/src/test/resources/data/test/mm/port_tiers/item_main_output.json @@ -0,0 +1,10 @@ +{ + "controllerId": "test:main", + "name": "Main Items", + "type": "mm:items", + "defaultModel": { + "block": "minecraft:sponge", + "properties": {} + }, + "isInput": false +} \ No newline at end of file diff --git a/version.properties b/version.properties index cee83cc..2a320c9 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -#Tue Apr 12 13:18:55 BST 2022 -VERSION_CODE=1454 +#Wed Apr 13 11:31:27 BST 2022 +VERSION_CODE=1470