Skip to content

Commit

Permalink
Added decoration blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
Duqueeee committed Mar 31, 2024
1 parent b19abd5 commit 3099af4
Show file tree
Hide file tree
Showing 84 changed files with 639 additions and 9 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ registrate_version = MC1.19-1.1.5

maven_group = me.duquee
archives_base_name = createutilities
mod_version = 0.2.0
mod_version = 0.3.0

forge_version = 43.2.3
minecraft_version = 1.19.2
Expand Down
79 changes: 79 additions & 0 deletions src/main/java/me/duquee/createutilities/blocks/CUBlocks.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
package me.duquee.createutilities.blocks;

import com.simibubi.create.AllSpriteShifts;
import com.simibubi.create.AllTags;
import com.simibubi.create.Create;
import com.simibubi.create.content.decoration.MetalLadderBlock;
import com.simibubi.create.content.decoration.MetalScaffoldingBlock;
import com.simibubi.create.content.decoration.encasing.CasingBlock;
import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour;
import com.simibubi.create.content.kinetics.BlockStressDefaults;
import com.simibubi.create.foundation.data.BuilderTransformers;
import com.simibubi.create.foundation.data.CreateRegistrate;
import com.simibubi.create.foundation.data.MetalBarsGen;
import com.simibubi.create.foundation.data.SharedProperties;
import com.simibubi.create.foundation.data.TagGen;
import com.tterrag.registrate.util.DataIngredient;
import com.tterrag.registrate.util.entry.BlockEntry;

import me.duquee.createutilities.blocks.lgearbox.LShapedGearboxBlock;
Expand All @@ -15,12 +22,20 @@
import me.duquee.createutilities.blocks.voidtypes.motor.VoidMotorBlock;
import me.duquee.createutilities.blocks.gearcube.GearcubeBlock;
import me.duquee.createutilities.blocks.voidtypes.tank.VoidTankBlock;
import me.duquee.createutilities.items.CUItems;
import me.duquee.createutilities.tabs.CUCreativeTabs;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.IronBarsBlock;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.material.MaterialColor;

import java.util.function.Supplier;

import static com.simibubi.create.foundation.data.ModelGen.customItemModel;
import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe;
import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly;
Expand All @@ -32,6 +47,29 @@ public class CUBlocks {
REGISTRATE.creativeModeTab(() -> CUCreativeTabs.BASE);
}

public static final BlockEntry<Block> VOID_STEEL_BLOCK = REGISTRATE.block("void_steel_block", Block::new)
.initialProperties(() -> Blocks.NETHERITE_BLOCK)
.properties(p -> p.color(MaterialColor.COLOR_GREEN))
.properties(p -> p.strength(55.0F, 1200.0F))
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
.transform(pickaxeOnly())
.simpleItem()
.register();

public static final BlockEntry<MetalScaffoldingBlock> VOID_STEEL_SCAFFOLD = REGISTRATE.block("void_steel_scaffolding", MetalScaffoldingBlock::new)
.transform(BuilderTransformers.scaffold("void_steel",
() -> DataIngredient.items(CUItems.VOID_STEEL_INGOT.get()), MaterialColor.COLOR_GREEN,
CUSpriteShifts.VOID_STEEL_SCAFFOLD, CUSpriteShifts.VOID_STEEL_SCAFFOLD_INSIDE, CUSpriteShifts.VOID_CASING))
.register();

public static final BlockEntry<MetalLadderBlock> VOID_STEEL_LADDER = REGISTRATE.block("void_steel_ladder", MetalLadderBlock::new)
.transform(BuilderTransformers.ladder("void_steel",
() -> DataIngredient.items(CUItems.VOID_STEEL_INGOT.get()), MaterialColor.COLOR_GREEN))
.register();

public static final BlockEntry<IronBarsBlock> VOID_STEEL_BARS = createBars("void_steel", true,
() -> DataIngredient.items(CUItems.VOID_STEEL_INGOT.get()), MaterialColor.COLOR_GREEN);

public static final BlockEntry<CasingBlock> VOID_CASING = REGISTRATE.block("void_casing", CasingBlock::new)
.transform(BuilderTransformers.casing(() -> CUSpriteShifts.VOID_CASING))
.properties(p -> p.color(MaterialColor.COLOR_BLACK))
Expand Down Expand Up @@ -106,6 +144,47 @@ public class CUBlocks {
.simpleItem()
.register();

public static final BlockEntry<Block> AMETHYST_TILES = REGISTRATE.block("amethyst_tiles", Block::new)
.initialProperties(() -> Blocks.DEEPSLATE)
.properties(p -> p.color(MaterialColor.TERRACOTTA_PURPLE).requiresCorrectToolForDrops())
.properties(p -> p.sound(SoundType.AMETHYST_CLUSTER))
.transform(pickaxeOnly())
.simpleItem()
.register();

public static final BlockEntry<Block> SMALL_AMETHYST_TILES = REGISTRATE.block("small_amethyst_tiles", Block::new)
.initialProperties(() -> Blocks.DEEPSLATE)
.properties(p -> p.color(MaterialColor.TERRACOTTA_PURPLE).requiresCorrectToolForDrops())
.properties(p -> p.sound(SoundType.AMETHYST_CLUSTER))
.transform(pickaxeOnly())
.simpleItem()
.register();

private static BlockEntry<IronBarsBlock> createBars(String name, boolean specialEdge,
Supplier<DataIngredient> ingredient, MaterialColor color) {

return REGISTRATE.block(name + "_bars", IronBarsBlock::new)
.addLayer(() -> RenderType::cutoutMipped)
.initialProperties(() -> Blocks.IRON_BARS)
.properties(p -> p.sound(SoundType.COPPER)
.color(color))
.tag(AllTags.AllBlockTags.WRENCH_PICKUP.tag)
.tag(AllTags.AllBlockTags.FAN_TRANSPARENT.tag)
.transform(TagGen.pickaxeOnly())
.blockstate(MetalBarsGen.barsBlockState(name, specialEdge))
.item()
.model((c, p) -> {
ResourceLocation barsTexture = p.modLoc("block/bars/" + name + "_bars");
p.withExistingParent(c.getName(), Create.asResource("item/bars"))
.texture("bars", barsTexture)
.texture("edge", specialEdge ? p.modLoc("block/bars/" + name + "_bars_edge") : barsTexture);
})
.recipe((c, p) -> p.stonecutting(ingredient.get(), c::get, 4))
.build()
.register();

}

public static void register() {}

}
13 changes: 10 additions & 3 deletions src/main/java/me/duquee/createutilities/blocks/CUSpriteShifts.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,25 @@

public class CUSpriteShifts {

public static final CTSpriteShiftEntry VOID_CASING = omni("void_casing");
public static final CTSpriteShiftEntry
VOID_CASING = omni("void_casing"),
VOID_STEEL_SCAFFOLD = horizontal("scaffold/void_steel_scaffold"),
VOID_STEEL_SCAFFOLD_INSIDE = horizontal("scaffold/void_steel_scaffold_inside");

private static CTSpriteShiftEntry omni(String name) {
return getCT(AllCTTypes.OMNIDIRECTIONAL, name);
}

private static CTSpriteShiftEntry getCT(CTType type, String blockTextureName, String connectedTextureName) {
return CTSpriteShifter.getCT(type, CreateUtilities.asResource("block/" + blockTextureName), CreateUtilities.asResource("block/" + connectedTextureName + "_connected"));
private static CTSpriteShiftEntry horizontal(String name) {
return getCT(AllCTTypes.HORIZONTAL, name);
}

private static CTSpriteShiftEntry getCT(CTType type, String blockTextureName) {
return getCT(type, blockTextureName, blockTextureName);
}

private static CTSpriteShiftEntry getCT(CTType type, String blockTextureName, String connectedTextureName) {
return CTSpriteShifter.getCT(type, CreateUtilities.asResource("block/" + blockTextureName), CreateUtilities.asResource("block/" + connectedTextureName + "_connected"));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ protected void initAndReadInventory(VoidChestTileEntity contentHolder) {}
@Override
protected void addSlots() {
addChestSlots();
addPlayerSlots(8, 85);
addPlayerSlots(8, 90);
}

private void addChestSlots() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public class VoidChestScreen extends AbstractSimiContainerScreen<VoidChestContai

public VoidChestScreen(VoidChestContainer container, Inventory inv, Component title) {
super(container, inv, title);
this.imageHeight = 172;
}

@Override
Expand All @@ -26,7 +27,7 @@ protected void renderBg(@NotNull PoseStack poseStack, float partialTick, int mou
int startY = (height - imageHeight)/2;
blit(poseStack, startX, startY, 0, 0, imageWidth, imageHeight);
font.draw(poseStack, title, startX + 8, startY + 7, 0x404040);
font.draw(poseStack, playerInventoryTitle, startX + 8, startY + 74, 0x404040);
font.draw(poseStack, playerInventoryTitle, startX + 8, startY + 78, 0x404040);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "createutilities:block/amethyst_tiles"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "createutilities:block/small_amethyst_tiles"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"multipart": [
{
"apply": {
"model": "createutilities:block/bars/void_steel_post_ends"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "createutilities:block/bars/void_steel_post"
}
},
{
"when": {
"north": "true",
"east": "false",
"south": "false",
"west": "false"
},
"apply": {
"model": "createutilities:block/bars/void_steel_cap"
}
},
{
"when": {
"north": "false",
"east": "true",
"south": "false",
"west": "false"
},
"apply": {
"model": "createutilities:block/bars/void_steel_cap",
"y": 90
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "true",
"west": "false"
},
"apply": {
"model": "createutilities:block/bars/void_steel_cap_alt"
}
},
{
"when": {
"north": "false",
"east": "false",
"south": "false",
"west": "true"
},
"apply": {
"model": "createutilities:block/bars/void_steel_cap_alt",
"y": 90
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "createutilities:block/bars/void_steel_side"
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "createutilities:block/bars/void_steel_side",
"y": 90
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "createutilities:block/bars/void_steel_side_alt"
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "createutilities:block/bars/void_steel_side_alt",
"y": 90
}
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "createutilities:block/void_steel_block"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"variants": {
"facing=north,waterlogged=false": {
"model": "createutilities:block/void_steel_ladder"
},
"facing=south,waterlogged=false": {
"model": "createutilities:block/void_steel_ladder",
"y": 180
},
"facing=west,waterlogged=false": {
"model": "createutilities:block/void_steel_ladder",
"y": 270
},
"facing=east,waterlogged=false": {
"model": "createutilities:block/void_steel_ladder",
"y": 90
},
"facing=north,waterlogged=true": {
"model": "createutilities:block/void_steel_ladder"
},
"facing=south,waterlogged=true": {
"model": "createutilities:block/void_steel_ladder",
"y": 180
},
"facing=west,waterlogged=true": {
"model": "createutilities:block/void_steel_ladder",
"y": 270
},
"facing=east,waterlogged=true": {
"model": "createutilities:block/void_steel_ladder",
"y": 90
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"variants": {
"bottom=false": {
"model": "createutilities:block/void_steel_scaffolding"
},
"bottom=true": {
"model": "createutilities:block/void_steel_scaffolding_horizontal"
}
}
}
6 changes: 6 additions & 0 deletions src/main/resources/assets/createutilities/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
"block.createutilities.void_tank": "Void Tank",
"block.createutilities.void_battery": "Void Battery",
"block.createutilities.void_casing": "Void Casing",
"block.createutilities.void_steel_block": "Block of Void Steel",
"block.createutilities.void_steel_scaffolding": "Void Steel Scaffolding",
"block.createutilities.void_steel_ladder": "Void Steel Ladder",
"block.createutilities.void_steel_bars": "Void Steel Bars",
"block.createutilities.amethyst_tiles": "Amethyst Tiles",
"block.createutilities.small_amethyst_tiles": "Small Amethyst Tiles",

"item.createutilities.void_steel_ingot": "Void Steel Ingot",
"item.createutilities.void_steel_sheet": "Void Steel Sheet",
Expand Down
6 changes: 6 additions & 0 deletions src/main/resources/assets/createutilities/lang/pt_br.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
"block.createutilities.void_tank": "Tanque do Vazio",
"block.createutilities.void_battery": "Bateria do Vazio",
"block.createutilities.void_casing": "Revestimento do Vazio",
"block.createutilities.void_steel_block": "Bloco de Aço do Vazio",
"block.createutilities.void_steel_scaffolding": "Andaime de Aço do Vazio",
"block.createutilities.void_steel_ladder": "Escada de Mão de Aço do Vazio",
"block.createutilities.void_steel_bars": "Grades de Aço do Vazio",
"block.createutilities.amethyst_tiles": "Ladrilhos de Ametista",
"block.createutilities.small_amethyst_tiles": "Ladrilhos Pequenos de Ametista",

"item.createutilities.void_steel_ingot": "Barra de Aço do Vazio",
"item.createutilities.void_steel_sheet": "Chapa de Aço do Vazio",
Expand Down
6 changes: 6 additions & 0 deletions src/main/resources/assets/createutilities/lang/pt_pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@
"block.createutilities.void_tank": "Tanque do Vazio",
"block.createutilities.void_battery": "Bateria do Vazio",
"block.createutilities.void_casing": "Revestimento do Vazio",
"block.createutilities.void_steel_block": "Bloco de Aço do Vazio",
"block.createutilities.void_steel_scaffolding": "Andaime de Aço do Vazio",
"block.createutilities.void_steel_ladder": "Escada de Mão de Aço do Vazio",
"block.createutilities.void_steel_bars": "Grades de Aço do Vazio",
"block.createutilities.amethyst_tiles": "Ladrilhos de Ametista",
"block.createutilities.small_amethyst_tiles": "Ladrilhos Pequenos de Ametista",

"item.createutilities.void_steel_ingot": "Barra de Aço do Vazio",
"item.createutilities.void_steel_sheet": "Chapa de Aço do Vazio",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "createutilities:block/palettes/amethyst_tiles"
}
}
Loading

0 comments on commit 3099af4

Please sign in to comment.