mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-25 06:27:41 +01:00
added datagen for BlockTags to AllBlocks
-use the runData run configuration to generate json data
This commit is contained in:
parent
144327bf93
commit
b885a60003
22 changed files with 261 additions and 146 deletions
|
@ -26,6 +26,7 @@ minecraft {
|
||||||
client {
|
client {
|
||||||
workingDirectory project.file('run')
|
workingDirectory project.file('run')
|
||||||
property 'forge.logging.console.level', 'info'
|
property 'forge.logging.console.level', 'info'
|
||||||
|
property 'fml.earlyprogresswindow', 'false'
|
||||||
mods {
|
mods {
|
||||||
create {
|
create {
|
||||||
source sourceSets.main
|
source sourceSets.main
|
||||||
|
@ -45,8 +46,9 @@ minecraft {
|
||||||
|
|
||||||
data {
|
data {
|
||||||
workingDirectory project.file('run')
|
workingDirectory project.file('run')
|
||||||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
|
property 'forge.logging.markers', 'REGISTRIES,REGISTRYDUMP'
|
||||||
property 'forge.logging.console.level', 'debug'
|
property 'forge.logging.console.level', 'debug'
|
||||||
|
property 'fml.earlyprogresswindow', 'false'
|
||||||
args '--mod', 'create', '--all', '--output', file('src/generated/resources/')
|
args '--mod', 'create', '--all', '--output', file('src/generated/resources/')
|
||||||
mods {
|
mods {
|
||||||
create {
|
create {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.simibubi.create.foundation.block.IHaveCustomBlockItem;
|
||||||
import com.simibubi.create.foundation.block.IHaveNoBlockItem;
|
import com.simibubi.create.foundation.block.IHaveNoBlockItem;
|
||||||
import com.simibubi.create.foundation.block.ProperStairsBlock;
|
import com.simibubi.create.foundation.block.ProperStairsBlock;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
import com.simibubi.create.foundation.utility.data.ITaggable;
|
||||||
import com.simibubi.create.foundation.world.OxidizingBlock;
|
import com.simibubi.create.foundation.world.OxidizingBlock;
|
||||||
import com.simibubi.create.modules.IModule;
|
import com.simibubi.create.modules.IModule;
|
||||||
import com.simibubi.create.modules.contraptions.CasingBlock;
|
import com.simibubi.create.modules.contraptions.CasingBlock;
|
||||||
|
@ -99,12 +100,16 @@ import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.color.BlockColors;
|
import net.minecraft.client.renderer.color.BlockColors;
|
||||||
import net.minecraft.item.BlockItem;
|
import net.minecraft.item.BlockItem;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
import net.minecraftforge.common.ToolType;
|
import net.minecraftforge.common.ToolType;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public enum AllBlocks {
|
public enum AllBlocks {
|
||||||
|
|
||||||
__SCHEMATICS__(),
|
__SCHEMATICS__(),
|
||||||
|
@ -150,7 +155,7 @@ public enum AllBlocks {
|
||||||
ROPE_PULLEY(new PulleyBlock()),
|
ROPE_PULLEY(new PulleyBlock()),
|
||||||
ROPE(new PulleyBlock.RopeBlock()),
|
ROPE(new PulleyBlock.RopeBlock()),
|
||||||
PULLEY_MAGNET(new PulleyBlock.MagnetBlock()),
|
PULLEY_MAGNET(new PulleyBlock.MagnetBlock()),
|
||||||
CART_ASSEMBLER(new CartAssemblerBlock()),
|
CART_ASSEMBLER(new TaggedBlock<>(new CartAssemblerBlock()).withVanillaTags(ITaggable.TagType.BLOCK, "rails")),
|
||||||
MINECART_ANCHOR(new MinecartAnchorBlock()),
|
MINECART_ANCHOR(new MinecartAnchorBlock()),
|
||||||
TRANSLATION_CHASSIS(new LinearChassisBlock()),
|
TRANSLATION_CHASSIS(new LinearChassisBlock()),
|
||||||
TRANSLATION_CHASSIS_SECONDARY(new LinearChassisBlock()),
|
TRANSLATION_CHASSIS_SECONDARY(new LinearChassisBlock()),
|
||||||
|
@ -200,10 +205,10 @@ public enum AllBlocks {
|
||||||
SYMMETRY_CROSSPLANE(new CrossPlaneSymmetryBlock()),
|
SYMMETRY_CROSSPLANE(new CrossPlaneSymmetryBlock()),
|
||||||
SYMMETRY_TRIPLEPLANE(new TriplePlaneSymmetryBlock()),
|
SYMMETRY_TRIPLEPLANE(new TriplePlaneSymmetryBlock()),
|
||||||
WINDOW_IN_A_BLOCK(new WindowInABlockBlock()),
|
WINDOW_IN_A_BLOCK(new WindowInABlockBlock()),
|
||||||
COCOA_LOG(new CocoaLogBlock()),
|
COCOA_LOG(new TaggedBlock<>(new CocoaLogBlock()).withVanillaTags(ITaggable.TagType.BLOCK, "jungle_logs")),
|
||||||
|
|
||||||
__PALETTES__(),
|
__PALETTES__(),
|
||||||
TILED_GLASS(new GlassBlock(Properties.from(Blocks.GLASS))),
|
TILED_GLASS(new TaggedBlock<>(new GlassBlock(Properties.from(Blocks.GLASS))).withVanillaTags(ITaggable.TagType.BLOCK, "impermeable").withForgeTags("glass")),
|
||||||
FRAMED_GLASS(new CTGlassBlock(AllCTs.FRAMED_GLASS, false)),
|
FRAMED_GLASS(new CTGlassBlock(AllCTs.FRAMED_GLASS, false)),
|
||||||
HORIZONTAL_FRAMED_GLASS(new HorizontalCTGlassBlock(AllCTs.HORIZONTAL_FRAMED_GLASS, AllCTs.FRAMED_GLASS, false)),
|
HORIZONTAL_FRAMED_GLASS(new HorizontalCTGlassBlock(AllCTs.HORIZONTAL_FRAMED_GLASS, AllCTs.FRAMED_GLASS, false)),
|
||||||
VERTICAL_FRAMED_GLASS(new VerticalCTGlassBlock(AllCTs.VERTICAL_FRAMED_GLASS, false)),
|
VERTICAL_FRAMED_GLASS(new VerticalCTGlassBlock(AllCTs.VERTICAL_FRAMED_GLASS, false)),
|
||||||
|
@ -216,17 +221,17 @@ public enum AllBlocks {
|
||||||
ACACIA_GLASS(new CTWindowBlock(AllCTs.ACACIA_GLASS, false)),
|
ACACIA_GLASS(new CTWindowBlock(AllCTs.ACACIA_GLASS, false)),
|
||||||
IRON_GLASS(new CTWindowBlock(AllCTs.IRON_GLASS, false)),
|
IRON_GLASS(new CTWindowBlock(AllCTs.IRON_GLASS, false)),
|
||||||
|
|
||||||
TILED_GLASS_PANE(new GlassPaneBlock(Properties.from(Blocks.GLASS))),
|
TILED_GLASS_PANE(new TaggedBlock<>(new GlassPaneBlock(Properties.from(Blocks.GLASS))).withForgeTags("glass_panes")),
|
||||||
FRAMED_GLASS_PANE(new CTGlassPaneBlock(FRAMED_GLASS.block)),
|
FRAMED_GLASS_PANE(new CTGlassPaneBlock(FRAMED_GLASS.get())),
|
||||||
HORIZONTAL_FRAMED_GLASS_PANE(new CTGlassPaneBlock(HORIZONTAL_FRAMED_GLASS.block)),
|
HORIZONTAL_FRAMED_GLASS_PANE(new CTGlassPaneBlock(HORIZONTAL_FRAMED_GLASS.get())),
|
||||||
VERTICAL_FRAMED_GLASS_PANE(new CTGlassPaneBlock(VERTICAL_FRAMED_GLASS.block)),
|
VERTICAL_FRAMED_GLASS_PANE(new CTGlassPaneBlock(VERTICAL_FRAMED_GLASS.get())),
|
||||||
OAK_GLASS_PANE(new CTGlassPaneBlock(OAK_GLASS.block)),
|
OAK_GLASS_PANE(new CTGlassPaneBlock(OAK_GLASS.get())),
|
||||||
SPRUCE_GLASS_PANE(new CTGlassPaneBlock(SPRUCE_GLASS.block)),
|
SPRUCE_GLASS_PANE(new CTGlassPaneBlock(SPRUCE_GLASS.get())),
|
||||||
BIRCH_GLASS_PANE(new CTGlassPaneBlock(BIRCH_GLASS.block)),
|
BIRCH_GLASS_PANE(new CTGlassPaneBlock(BIRCH_GLASS.get())),
|
||||||
JUNGLE_GLASS_PANE(new CTGlassPaneBlock(JUNGLE_GLASS.block)),
|
JUNGLE_GLASS_PANE(new CTGlassPaneBlock(JUNGLE_GLASS.get())),
|
||||||
DARK_OAK_GLASS_PANE(new CTGlassPaneBlock(DARK_OAK_GLASS.block)),
|
DARK_OAK_GLASS_PANE(new CTGlassPaneBlock(DARK_OAK_GLASS.get())),
|
||||||
ACACIA_GLASS_PANE(new CTGlassPaneBlock(ACACIA_GLASS.block)),
|
ACACIA_GLASS_PANE(new CTGlassPaneBlock(ACACIA_GLASS.get())),
|
||||||
IRON_GLASS_PANE(new CTGlassPaneBlock(IRON_GLASS.block)),
|
IRON_GLASS_PANE(new CTGlassPaneBlock(IRON_GLASS.get())),
|
||||||
|
|
||||||
GRANITE_BRICKS(new Block(Properties.from(Blocks.GRANITE))),
|
GRANITE_BRICKS(new Block(Properties.from(Blocks.GRANITE))),
|
||||||
GRANITE_LAYERS(new LayeredCTBlock(Properties.from(Blocks.GRANITE), AllCTs.GRANITE_LAYERS, AllCTs.POLISHED_GRANITE)),
|
GRANITE_LAYERS(new LayeredCTBlock(Properties.from(Blocks.GRANITE), AllCTs.GRANITE_LAYERS, AllCTs.POLISHED_GRANITE)),
|
||||||
|
@ -236,56 +241,56 @@ public enum AllBlocks {
|
||||||
ANDESITE_LAYERS(
|
ANDESITE_LAYERS(
|
||||||
new LayeredCTBlock(Properties.from(Blocks.ANDESITE), AllCTs.ANDESITE_LAYERS, AllCTs.POLISHED_ANDESITE)),
|
new LayeredCTBlock(Properties.from(Blocks.ANDESITE), AllCTs.ANDESITE_LAYERS, AllCTs.POLISHED_ANDESITE)),
|
||||||
|
|
||||||
GABBRO(new Block(Properties.from(Blocks.GRANITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
GABBRO(new TaggedBlock<>(new Block(Properties.from(Blocks.GRANITE))).withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
POLISHED_GABBRO(new Block(Properties.from(GABBRO.block))),
|
POLISHED_GABBRO(new TaggedBlock<>(new Block(Properties.from(GABBRO.get()))).withForgeTags("stone")),
|
||||||
GABBRO_BRICKS(new Block(Properties.from(GABBRO.block)), ComesWith.STAIRS, ComesWith.WALL),
|
GABBRO_BRICKS(new Block(Properties.from(GABBRO.get())), ComesWith.STAIRS, ComesWith.WALL),
|
||||||
PAVED_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block)), ComesWith.SLAB),
|
PAVED_GABBRO_BRICKS(new Block(Properties.from(GABBRO.get())), ComesWith.SLAB),
|
||||||
INDENTED_GABBRO(new Block(Properties.from(GABBRO.block)), ComesWith.SLAB),
|
INDENTED_GABBRO(new Block(Properties.from(GABBRO.get())), ComesWith.SLAB),
|
||||||
SLIGHTLY_MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
|
SLIGHTLY_MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.get()))),
|
||||||
MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.block))),
|
MOSSY_GABBRO_BRICKS(new Block(Properties.from(GABBRO.get()))),
|
||||||
GABBRO_LAYERS(new LayeredCTBlock(Properties.from(GABBRO.block), AllCTs.GABBRO_LAYERS, AllCTs.POLISHED_GABBRO)),
|
GABBRO_LAYERS(new LayeredCTBlock(Properties.from(GABBRO.get()), AllCTs.GABBRO_LAYERS, AllCTs.POLISHED_GABBRO)),
|
||||||
|
|
||||||
DOLOMITE(new Block(Properties.from(Blocks.QUARTZ_BLOCK)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
DOLOMITE(new TaggedBlock<>(new Block(Properties.from(Blocks.QUARTZ_BLOCK))).withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
DOLOMITE_BRICKS(new Block(Properties.from(DOLOMITE.block))),
|
DOLOMITE_BRICKS(new Block(Properties.from(DOLOMITE.get()))),
|
||||||
POLISHED_DOLOMITE(new Block(Properties.from(DOLOMITE.block))),
|
POLISHED_DOLOMITE(new TaggedBlock<>(new Block(Properties.from(DOLOMITE.get()))).withForgeTags("stone")),
|
||||||
DOLOMITE_PILLAR(new RotatedPillarBlock(Properties.from(DOLOMITE.block))),
|
DOLOMITE_PILLAR(new RotatedPillarBlock(Properties.from(DOLOMITE.get()))),
|
||||||
DOLOMITE_LAYERS(
|
DOLOMITE_LAYERS(
|
||||||
new LayeredCTBlock(Properties.from(DOLOMITE.block), AllCTs.DOLOMITE_LAYERS, AllCTs.POLISHED_DOLOMITE)),
|
new LayeredCTBlock(Properties.from(DOLOMITE.get()), AllCTs.DOLOMITE_LAYERS, AllCTs.POLISHED_DOLOMITE)),
|
||||||
|
|
||||||
LIMESAND(new FallingBlock(Properties.from(Blocks.SAND))),
|
LIMESAND(new FallingBlock(Properties.from(Blocks.SAND))),
|
||||||
LIMESTONE(new Block(Properties.from(Blocks.SANDSTONE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
LIMESTONE(new TaggedBlock<>(new Block(Properties.from(Blocks.SANDSTONE))).withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
LIMESTONE_BRICKS(new Block(Properties.from(LIMESTONE.block)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
LIMESTONE_BRICKS(new Block(Properties.from(LIMESTONE.get())), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
POLISHED_LIMESTONE(new Block(Properties.from(LIMESTONE.block)), ComesWith.SLAB),
|
POLISHED_LIMESTONE(new TaggedBlock<>(new Block(Properties.from(LIMESTONE.get()))).withForgeTags("stone"), ComesWith.SLAB),
|
||||||
LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(LIMESTONE.block))),
|
LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(LIMESTONE.get()))),
|
||||||
LIMESTONE_LAYERS(
|
LIMESTONE_LAYERS(
|
||||||
new LayeredCTBlock(Properties.from(LIMESTONE.block), AllCTs.LIMESTONE_LAYERS, AllCTs.POLISHED_LIMESTONE)),
|
new LayeredCTBlock(Properties.from(LIMESTONE.get()), AllCTs.LIMESTONE_LAYERS, AllCTs.POLISHED_LIMESTONE)),
|
||||||
WEATHERED_LIMESTONE(new Block(Properties.from(Blocks.ANDESITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
WEATHERED_LIMESTONE(new TaggedBlock<>(new Block(Properties.from(Blocks.ANDESITE))).withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
WEATHERED_LIMESTONE_BRICKS(new Block(Properties.from(WEATHERED_LIMESTONE.block)), ComesWith.STAIRS, ComesWith.SLAB,
|
WEATHERED_LIMESTONE_BRICKS(new Block(Properties.from(WEATHERED_LIMESTONE.get())), ComesWith.STAIRS, ComesWith.SLAB,
|
||||||
ComesWith.WALL),
|
ComesWith.WALL),
|
||||||
POLISHED_WEATHERED_LIMESTONE(new Block(Properties.from(WEATHERED_LIMESTONE.block)), ComesWith.SLAB),
|
POLISHED_WEATHERED_LIMESTONE(new TaggedBlock<>(new Block(Properties.from(WEATHERED_LIMESTONE.get()))).withForgeTags("stone"), ComesWith.SLAB),
|
||||||
WEATHERED_LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(WEATHERED_LIMESTONE.block))),
|
WEATHERED_LIMESTONE_PILLAR(new RotatedPillarBlock(Properties.from(WEATHERED_LIMESTONE.get()))),
|
||||||
WEATHERED_LIMESTONE_LAYERS(new LayeredCTBlock(Properties.from(WEATHERED_LIMESTONE.block),
|
WEATHERED_LIMESTONE_LAYERS(new LayeredCTBlock(Properties.from(WEATHERED_LIMESTONE.get()),
|
||||||
AllCTs.WEATHERED_LIMESTONE_LAYERS, AllCTs.POLISHED_WEATHERED_LIMESTONE)),
|
AllCTs.WEATHERED_LIMESTONE_LAYERS, AllCTs.POLISHED_WEATHERED_LIMESTONE)),
|
||||||
|
|
||||||
NATURAL_SCORIA(new ScoriaBlock()),
|
NATURAL_SCORIA(new ScoriaBlock()),
|
||||||
SCORIA(new Block(Properties.from(Blocks.ANDESITE)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
SCORIA(new TaggedBlock<>(new Block(Properties.from(Blocks.ANDESITE))).withForgeTags("stone"), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
POLISHED_SCORIA(new Block(Properties.from(SCORIA.block)), ComesWith.SLAB),
|
POLISHED_SCORIA(new TaggedBlock<>(new Block(Properties.from(SCORIA.get()))).withForgeTags("stone"), ComesWith.SLAB),
|
||||||
SCORIA_BRICKS(new Block(Properties.from(SCORIA.block))),
|
SCORIA_BRICKS(new Block(Properties.from(SCORIA.get()))),
|
||||||
SCORIA_LAYERS(new LayeredCTBlock(Properties.from(SCORIA.block), AllCTs.SCORIA_LAYERS, AllCTs.POLISHED_SCORIA)),
|
SCORIA_LAYERS(new LayeredCTBlock(Properties.from(SCORIA.get()), AllCTs.SCORIA_LAYERS, AllCTs.POLISHED_SCORIA)),
|
||||||
SCORIA_PILLAR(new RotatedPillarBlock(Properties.from(SCORIA.block))),
|
SCORIA_PILLAR(new RotatedPillarBlock(Properties.from(SCORIA.get()))),
|
||||||
|
|
||||||
DARK_SCORIA(new Block(Properties.from(Blocks.ANDESITE))),
|
DARK_SCORIA(new Block(Properties.from(Blocks.ANDESITE))),
|
||||||
POLISHED_DARK_SCORIA(new Block(Properties.from(DARK_SCORIA.block))),
|
POLISHED_DARK_SCORIA(new Block(Properties.from(DARK_SCORIA.get()))),
|
||||||
DARK_SCORIA_TILES(new Block(Properties.from(DARK_SCORIA.block)), ComesWith.STAIRS, ComesWith.SLAB),
|
DARK_SCORIA_TILES(new Block(Properties.from(DARK_SCORIA.get())), ComesWith.STAIRS, ComesWith.SLAB),
|
||||||
DARK_SCORIA_BRICKS(new Block(Properties.from(DARK_SCORIA.block)), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
DARK_SCORIA_BRICKS(new Block(Properties.from(DARK_SCORIA.get())), ComesWith.STAIRS, ComesWith.SLAB, ComesWith.WALL),
|
||||||
|
|
||||||
__MATERIALS__(),
|
__MATERIALS__(),
|
||||||
COPPER_ORE(new OxidizingBlock(Properties.from(Blocks.IRON_ORE), 1)),
|
COPPER_ORE(new TaggedBlock<>(new OxidizingBlock(Properties.from(Blocks.IRON_ORE), 1)).withForgeTags("ores/copper")),
|
||||||
ZINC_ORE(new Block(Properties.from(Blocks.GOLD_ORE).harvestLevel(2).harvestTool(ToolType.PICKAXE))),
|
ZINC_ORE(new TaggedBlock<>(new Block(Properties.from(Blocks.GOLD_ORE).harvestLevel(2).harvestTool(ToolType.PICKAXE))).withForgeTags("ores/zinc")),
|
||||||
COPPER_BLOCK(new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f)),
|
COPPER_BLOCK(new TaggedBlock<>(new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f)).withForgeTags("storage_blocks/copper")),
|
||||||
COPPER_SHINGLES(new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f)),
|
COPPER_SHINGLES(new OxidizingBlock(Properties.from(Blocks.IRON_BLOCK), 1 / 32f)),
|
||||||
ZINC_BLOCK(new Block(Properties.from(Blocks.IRON_BLOCK))),
|
ZINC_BLOCK(new TaggedBlock<>(new Block(Properties.from(Blocks.IRON_BLOCK))).withForgeTags("storage_blocks/zinc")),
|
||||||
BRASS_BLOCK(new Block(Properties.from(Blocks.IRON_BLOCK))),
|
BRASS_BLOCK(new TaggedBlock<>(new Block(Properties.from(Blocks.IRON_BLOCK))).withForgeTags("storage_blocks/brass")),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -297,27 +302,28 @@ public enum AllBlocks {
|
||||||
static IModule currentModule;
|
static IModule currentModule;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Block block;
|
private TaggedBlock<? extends Block> taggedBlock;
|
||||||
public Block[] alsoRegistered;
|
public TaggedBlock<?>[] alsoRegistered;
|
||||||
public IModule module;
|
public IModule module;
|
||||||
|
|
||||||
private AllBlocks() {
|
AllBlocks() {
|
||||||
CategoryTracker.currentModule = new IModule() {
|
CategoryTracker.currentModule = () -> Lang.asId(name()).replaceAll("__", "");
|
||||||
@Override
|
taggedBlock = new TaggedBlock<>(null);
|
||||||
public String getModuleName() {
|
|
||||||
return Lang.asId(name()).replaceAll("__", "");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private AllBlocks(Block block, ComesWith... comesWith) {
|
AllBlocks(Block block, ComesWith... comesWith) {
|
||||||
this.block = block;
|
this(new TaggedBlock<>(block), comesWith);
|
||||||
this.block.setRegistryName(Create.ID, Lang.asId(name()));
|
}
|
||||||
|
|
||||||
|
AllBlocks(TaggedBlock<? extends Block> taggedBlockIn, ComesWith... comesWith){
|
||||||
|
this.taggedBlock = taggedBlockIn;
|
||||||
|
this.taggedBlock.getBlock().setRegistryName(Create.ID, Lang.asId(name()));
|
||||||
this.module = CategoryTracker.currentModule;
|
this.module = CategoryTracker.currentModule;
|
||||||
|
|
||||||
alsoRegistered = new Block[comesWith.length];
|
alsoRegistered = new TaggedBlock[comesWith.length];
|
||||||
for (int i = 0; i < comesWith.length; i++)
|
for (int i = 0; i < comesWith.length; i++)
|
||||||
alsoRegistered[i] = makeRelatedBlock(block, comesWith[i]);
|
alsoRegistered[i] = makeRelatedBlock(taggedBlock.getBlock(), comesWith[i]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register(RegistryEvent.Register<Block> event) {
|
public static void register(RegistryEvent.Register<Block> event) {
|
||||||
|
@ -327,9 +333,9 @@ public enum AllBlocks {
|
||||||
if (block.get() == null)
|
if (block.get() == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
registry.register(block.block);
|
registry.register(block.get());
|
||||||
for (Block extra : block.alsoRegistered)
|
for (TaggedBlock<?> extra : block.alsoRegistered)
|
||||||
registry.register(extra);
|
registry.register(extra.block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -342,8 +348,8 @@ public enum AllBlocks {
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
registerAsItem(registry, def);
|
registerAsItem(registry, def);
|
||||||
for (Block extra : block.alsoRegistered)
|
for (TaggedBlock<?> extra : block.alsoRegistered)
|
||||||
registerAsItem(registry, extra);
|
registerAsItem(registry, extra.block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -360,52 +366,77 @@ public enum AllBlocks {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Block get() {
|
public Block get() {
|
||||||
return block;
|
return taggedBlock.getBlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ITaggable<?> getTaggable() {
|
||||||
|
return taggedBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BlockState getDefault() {
|
public BlockState getDefault() {
|
||||||
return block.getDefaultState();
|
return get().getDefaultState();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean typeOf(BlockState state) {
|
public boolean typeOf(BlockState state) {
|
||||||
return state.getBlock() == block;
|
return state.getBlock() == get();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Block makeRelatedBlock(Block block, ComesWith feature) {
|
private TaggedBlock<? extends Block> makeRelatedBlock(Block block, ComesWith feature) {
|
||||||
Properties properties = Properties.from(block);
|
Properties properties = Properties.from(block);
|
||||||
Block featured = null;
|
TaggedBlock<? extends Block> featured = null;
|
||||||
|
|
||||||
switch (feature) {
|
switch (feature) {
|
||||||
case FENCE:
|
case FENCE:
|
||||||
featured = new FenceBlock(properties);
|
featured = new TaggedBlock<>(new FenceBlock(properties)).withVanillaTags(ITaggable.TagType.BLOCK, "fences");
|
||||||
break;
|
break;
|
||||||
case SLAB:
|
case SLAB:
|
||||||
featured = new SlabBlock(properties);
|
featured = new TaggedBlock<>(new SlabBlock(properties)).withVanillaTags(ITaggable.TagType.BLOCK, "slabs");
|
||||||
break;
|
break;
|
||||||
case STAIRS:
|
case STAIRS:
|
||||||
featured = new ProperStairsBlock(block);
|
featured = new TaggedBlock<>(new ProperStairsBlock(block)).withVanillaTags(ITaggable.TagType.BLOCK, "stairs");
|
||||||
break;
|
break;
|
||||||
case WALL:
|
case WALL:
|
||||||
featured = new WallBlock(properties);
|
featured = new TaggedBlock<>(new WallBlock(properties)).withVanillaTags(ITaggable.TagType.BLOCK, "walls");
|
||||||
break;
|
break;
|
||||||
case FENCE_GATE:
|
case FENCE_GATE:
|
||||||
featured = new FenceGateBlock(properties);
|
featured = new TaggedBlock<>(new FenceGateBlock(properties));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return featured.setRegistryName(Create.ID, block.getRegistryName().getPath() + "_" + Lang.asId(feature.name()));
|
featured.block.setRegistryName(Create.ID, block.getRegistryName().getPath() + "_" + Lang.asId(feature.name()));
|
||||||
|
return featured;
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public static void registerColorHandlers() {
|
public static void registerColorHandlers() {
|
||||||
BlockColors blockColors = Minecraft.getInstance().getBlockColors();
|
BlockColors blockColors = Minecraft.getInstance().getBlockColors();
|
||||||
for (AllBlocks block : values()) {
|
for (AllBlocks block : values()) {
|
||||||
if (block.block instanceof IHaveColorHandler) {
|
if (block.get() instanceof IHaveColorHandler) {
|
||||||
blockColors.register(((IHaveColorHandler) block.block).getColorHandler(), block.block);
|
blockColors.register(((IHaveColorHandler) block.get()).getColorHandler(), block.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class TaggedBlock<T extends Block> implements ITaggable<TaggedBlock<T>> {
|
||||||
|
//A wrapper around Block that allows for tags to be included. needed for datagen
|
||||||
|
|
||||||
|
private Set<ResourceLocation> tagSetBlock = new HashSet<>();
|
||||||
|
private Set<ResourceLocation> tagSetBlockItem = new HashSet<>();
|
||||||
|
private T block;
|
||||||
|
|
||||||
|
public TaggedBlock(T blockIn){
|
||||||
|
block = blockIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getBlock() {
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<ResourceLocation> getTagSet(TagType type) {
|
||||||
|
return type == TagType.BLOCK ? tagSetBlock : tagSetBlockItem;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import com.google.gson.GsonBuilder;
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
import com.simibubi.create.foundation.utility.data.ICanGenerateJson;
|
|
||||||
|
|
||||||
import net.minecraft.data.DirectoryCache;
|
import net.minecraft.data.DirectoryCache;
|
||||||
import net.minecraft.data.IDataProvider;
|
import net.minecraft.data.IDataProvider;
|
||||||
|
@ -18,7 +17,7 @@ import net.minecraft.util.SoundEvents;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
import net.minecraftforge.event.RegistryEvent;
|
||||||
import net.minecraftforge.registries.IForgeRegistry;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
public enum AllSoundEvents implements ICanGenerateJson {
|
public enum AllSoundEvents implements IDataProvider {
|
||||||
|
|
||||||
CUCKOO_PIG("creeperclock"),
|
CUCKOO_PIG("creeperclock"),
|
||||||
CUCKOO_CREEPER("pigclock"),
|
CUCKOO_CREEPER("pigclock"),
|
||||||
|
@ -59,7 +58,7 @@ public enum AllSoundEvents implements ICanGenerateJson {
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getName() {
|
private String getEventName() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +67,7 @@ public enum AllSoundEvents implements ICanGenerateJson {
|
||||||
|
|
||||||
for (AllSoundEvents entry : values()) {
|
for (AllSoundEvents entry : values()) {
|
||||||
|
|
||||||
ResourceLocation rec = new ResourceLocation(Create.ID, entry.getName());
|
ResourceLocation rec = new ResourceLocation(Create.ID, entry.getEventName());
|
||||||
SoundEvent sound = new SoundEvent(rec).setRegistryName(rec);
|
SoundEvent sound = new SoundEvent(rec).setRegistryName(rec);
|
||||||
registry.register(sound);
|
registry.register(sound);
|
||||||
entry.event = sound;
|
entry.event = sound;
|
||||||
|
@ -92,11 +91,11 @@ public enum AllSoundEvents implements ICanGenerateJson {
|
||||||
arr.add(s);
|
arr.add(s);
|
||||||
} else {
|
} else {
|
||||||
// own sound
|
// own sound
|
||||||
arr.add(Create.ID + ":" + soundEvent.getName());
|
arr.add(Create.ID + ":" + soundEvent.getEventName());
|
||||||
}
|
}
|
||||||
entry.add("sounds", arr);
|
entry.add("sounds", arr);
|
||||||
entry.addProperty("subtitle", Create.ID + ".subtitle." + soundEvent.getName());
|
entry.addProperty("subtitle", Create.ID + ".subtitle." + soundEvent.getEventName());
|
||||||
json.add(soundEvent.getName(), entry);
|
json.add(soundEvent.getEventName(), entry);
|
||||||
}
|
}
|
||||||
IDataProvider.save(GSON, cache, json, path.resolve("sounds.json"));
|
IDataProvider.save(GSON, cache, json, path.resolve("sounds.json"));
|
||||||
|
|
||||||
|
@ -105,4 +104,14 @@ public enum AllSoundEvents implements ICanGenerateJson {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void act(DirectoryCache cache) throws IOException {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,7 +183,7 @@ public enum AllTileEntities {
|
||||||
for (AllTileEntities tileEntity : values()) {
|
for (AllTileEntities tileEntity : values()) {
|
||||||
Block[] blocks = new Block[tileEntity.blocks.length];
|
Block[] blocks = new Block[tileEntity.blocks.length];
|
||||||
for (int i = 0; i < blocks.length; i++)
|
for (int i = 0; i < blocks.length; i++)
|
||||||
blocks[i] = tileEntity.blocks[i].block;
|
blocks[i] = tileEntity.blocks[i].get();
|
||||||
|
|
||||||
ResourceLocation resourceLocation = new ResourceLocation(Create.ID, Lang.asId(tileEntity.name()));
|
ResourceLocation resourceLocation = new ResourceLocation(Create.ID, Lang.asId(tileEntity.name()));
|
||||||
tileEntity.type = TileEntityType.Builder.create(tileEntity.supplier, blocks).build(null)
|
tileEntity.type = TileEntityType.Builder.create(tileEntity.supplier, blocks).build(null)
|
||||||
|
|
|
@ -147,7 +147,7 @@ public class CreateClient {
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
protected static ModelResourceLocation getBlockModelLocation(AllBlocks block, String suffix) {
|
protected static ModelResourceLocation getBlockModelLocation(AllBlocks block, String suffix) {
|
||||||
return new ModelResourceLocation(block.block.getRegistryName(), suffix);
|
return new ModelResourceLocation(block.get().getRegistryName(), suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
|
|
|
@ -46,8 +46,8 @@ public final class CreateItemGroup extends ItemGroup {
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
def.asItem().fillItemGroup(this, items);
|
def.asItem().fillItemGroup(this, items);
|
||||||
for (Block alsoRegistered : block.alsoRegistered)
|
for (AllBlocks.TaggedBlock<?> alsoRegistered : block.alsoRegistered)
|
||||||
alsoRegistered.asItem().fillItemGroup(this, items);
|
alsoRegistered.getBlock().asItem().fillItemGroup(this, items);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
package com.simibubi.create.foundation.utility.data;
|
||||||
|
|
||||||
|
import com.simibubi.create.AllBlocks;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.data.BlockTagsProvider;
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraft.tags.BlockTags;
|
||||||
|
import net.minecraft.tags.Tag;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class AllBlocksTagProvider extends BlockTagsProvider {
|
||||||
|
|
||||||
|
static Map<ResourceLocation, BlockTags.Wrapper> createdTags;
|
||||||
|
|
||||||
|
protected AllBlocksTagProvider(DataGenerator generatorIn) {
|
||||||
|
super(generatorIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerTags() {
|
||||||
|
createdTags = new HashMap<>();
|
||||||
|
|
||||||
|
for (AllBlocks entry :
|
||||||
|
AllBlocks.values()) {
|
||||||
|
entry.getTaggable().getTagSet(ITaggable.TagType.BLOCK).forEach(resLoc -> {
|
||||||
|
if (resLoc.getNamespace().equals("forge") && resLoc.getPath().contains("/"))
|
||||||
|
builder(new ResourceLocation(resLoc.getNamespace(), resLoc.getPath().split("/")[0])).add(new Tag<>(resLoc));
|
||||||
|
builder(resLoc).add(entry.get());
|
||||||
|
});
|
||||||
|
if (entry.alsoRegistered == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Arrays.stream(entry.alsoRegistered).forEach(
|
||||||
|
taggedBlock -> taggedBlock.getTagSet(ITaggable.TagType.BLOCK).forEach(
|
||||||
|
resLoc -> builder(resLoc).add(taggedBlock.getBlock())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Tag.Builder<Block> builder(ResourceLocation resLoc) {
|
||||||
|
return this.getBuilder(createdTags.computeIfAbsent(resLoc, BlockTags.Wrapper::new));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "Create Block Tags";
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,36 +1,18 @@
|
||||||
package com.simibubi.create.foundation.utility.data;
|
package com.simibubi.create.foundation.utility.data;
|
||||||
|
|
||||||
import java.io.IOException;
|
import net.minecraft.data.DataGenerator;
|
||||||
import java.nio.file.Path;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import java.nio.file.Paths;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
import net.minecraftforge.fml.event.lifecycle.GatherDataEvent;
|
||||||
import com.simibubi.create.AllSoundEvents;
|
|
||||||
|
|
||||||
import net.minecraft.data.DirectoryCache;
|
|
||||||
|
|
||||||
|
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
public class Generator {
|
public class Generator {
|
||||||
|
|
||||||
/*
|
@SubscribeEvent
|
||||||
* this can probably be called by some gradle task or so but im not know how, so for now i just added a main below and execute from there when we need to generate jsons
|
public static void gatherData(GatherDataEvent event){
|
||||||
**/
|
DataGenerator gen = event.getGenerator();
|
||||||
public static void generateJsonFiles(){
|
//gen.addProvider(AllSoundEvents.CUCKOO_PIG);
|
||||||
Path base = Paths.get("src/main/resources");
|
gen.addProvider(new AllBlocksTagProvider(gen));
|
||||||
DirectoryCache cache;
|
|
||||||
try {
|
|
||||||
|
|
||||||
cache = new DirectoryCache(base, "cache");
|
|
||||||
|
|
||||||
for (ICanGenerateJson gen:
|
|
||||||
new ICanGenerateJson[]{AllSoundEvents.CUCKOO_CREEPER}) {
|
|
||||||
gen.generate(base, cache);
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
generateJsonFiles();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
package com.simibubi.create.foundation.utility.data;
|
|
||||||
|
|
||||||
import java.nio.file.Path;
|
|
||||||
|
|
||||||
import net.minecraft.data.DirectoryCache;
|
|
||||||
|
|
||||||
public interface ICanGenerateJson {
|
|
||||||
|
|
||||||
//path points to the resource1s base folder
|
|
||||||
void generate(Path path, DirectoryCache cache);
|
|
||||||
}
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.simibubi.create.foundation.utility.data;
|
||||||
|
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public interface ITaggable<T> {
|
||||||
|
|
||||||
|
enum TagType {
|
||||||
|
BLOCK, ITEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withTags(ResourceLocation... tagsIn) {
|
||||||
|
Collections.addAll(getTagSet(TagType.BLOCK), tagsIn);
|
||||||
|
Collections.addAll(getTagSet(TagType.ITEM), tagsIn);
|
||||||
|
return (T) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withTags(TagType type, ResourceLocation... tagsIn) {
|
||||||
|
Collections.addAll(getTagSet(type), tagsIn);
|
||||||
|
return (T) this;
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withTagsInNamespace(String namespace, String... tagsIn) {
|
||||||
|
return withTags(Arrays.stream(tagsIn).map(s -> new ResourceLocation(namespace, s)).toArray(ResourceLocation[]::new));
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withTagsInNamespace(TagType type, String namespace, String... tagsIn) {
|
||||||
|
return withTags(type, Arrays.stream(tagsIn).map(s -> new ResourceLocation(namespace, s)).toArray(ResourceLocation[]::new));
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withCreateTags(String... tagsIn) {
|
||||||
|
return withTagsInNamespace("create", tagsIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withForgeTags(String... tagsIn) {
|
||||||
|
return withTagsInNamespace("forge", tagsIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withVanillaTags(String... tagsIn) {
|
||||||
|
return withTagsInNamespace("minecraft", tagsIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
default T withVanillaTags(TagType type, String... tagsIn) {
|
||||||
|
return withTagsInNamespace(type, "minecraft", tagsIn);
|
||||||
|
}
|
||||||
|
|
||||||
|
//take a look at AllBlocks.TaggedBlock for more info
|
||||||
|
Set<ResourceLocation> getTagSet(TagType type);
|
||||||
|
}
|
|
@ -44,7 +44,7 @@ public class MountedContraption extends Contraption {
|
||||||
|
|
||||||
Axis axis = state.get(RAIL_SHAPE) == RailShape.EAST_WEST ? Axis.X : Axis.Z;
|
Axis axis = state.get(RAIL_SHAPE) == RailShape.EAST_WEST ? Axis.X : Axis.Z;
|
||||||
contraption.add(pos, Pair.of(new BlockInfo(pos,
|
contraption.add(pos, Pair.of(new BlockInfo(pos,
|
||||||
AllBlocks.MINECART_ANCHOR.block.getDefaultState().with(BlockStateProperties.HORIZONTAL_AXIS, axis),
|
AllBlocks.MINECART_ANCHOR.get().getDefaultState().with(BlockStateProperties.HORIZONTAL_AXIS, axis),
|
||||||
null), null));
|
null), null));
|
||||||
contraption.removeBlocksFromWorld(world, BlockPos.ZERO);
|
contraption.removeBlocksFromWorld(world, BlockPos.ZERO);
|
||||||
contraption.initActors(world);
|
contraption.initActors(world);
|
||||||
|
|
|
@ -19,7 +19,7 @@ public class MechanicalPistonTileEntityRenderer extends KineticTileEntityRendere
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BlockState getRenderedBlockState(KineticTileEntity te) {
|
protected BlockState getRenderedBlockState(KineticTileEntity te) {
|
||||||
return AllBlocks.SHAFT.block.getDefaultState().with(BlockStateProperties.AXIS,
|
return AllBlocks.SHAFT.get().getDefaultState().with(BlockStateProperties.AXIS,
|
||||||
((IRotate) te.getBlockState().getBlock()).getRotationAxis(te.getBlockState()));
|
((IRotate) te.getBlockState().getBlock()).getRotationAxis(te.getBlockState()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class CrushingWheelBlock extends RotatedPillarKineticBlock {
|
||||||
world.setBlockState(controllerPos, world.getBlockState(controllerPos).with(VALID, controllerShouldBeValid));
|
world.setBlockState(controllerPos, world.getBlockState(controllerPos).with(VALID, controllerShouldBeValid));
|
||||||
}
|
}
|
||||||
|
|
||||||
((CrushingWheelControllerBlock) AllBlocks.CRUSHING_WHEEL_CONTROLLER.block)
|
((CrushingWheelControllerBlock) AllBlocks.CRUSHING_WHEEL_CONTROLLER.get())
|
||||||
.updateSpeed(world.getBlockState(controllerPos), world, controllerPos);
|
.updateSpeed(world.getBlockState(controllerPos), world, controllerPos);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,7 +135,7 @@ public class DeployerTileEntityRenderer extends SafeTileEntityRenderer<DeployerT
|
||||||
BlockState state = te.getBlockState();
|
BlockState state = te.getBlockState();
|
||||||
if (!AllBlocks.DEPLOYER.typeOf(state))
|
if (!AllBlocks.DEPLOYER.typeOf(state))
|
||||||
return Blocks.AIR.getDefaultState();
|
return Blocks.AIR.getDefaultState();
|
||||||
return AllBlocks.SHAFT.block.getDefaultState().with(AXIS, ((IRotate) state.getBlock()).getRotationAxis(state));
|
return AllBlocks.SHAFT.get().getDefaultState().with(AXIS, ((IRotate) state.getBlock()).getRotationAxis(state));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static SuperByteBuffer renderAndTransform(World world, AllBlockPartials renderBlock,
|
private static SuperByteBuffer renderAndTransform(World world, AllBlockPartials renderBlock,
|
||||||
|
|
|
@ -88,7 +88,7 @@ public class SawTileEntityRenderer extends SafeTileEntityRenderer<SawTileEntity>
|
||||||
|
|
||||||
protected BlockState getRenderedBlockState(KineticTileEntity te) {
|
protected BlockState getRenderedBlockState(KineticTileEntity te) {
|
||||||
BlockState state = te.getBlockState();
|
BlockState state = te.getBlockState();
|
||||||
return AllBlocks.SHAFT.block.getDefaultState().with(AXIS, ((IRotate) state.getBlock()).getRotationAxis(state));
|
return AllBlocks.SHAFT.get().getDefaultState().with(AXIS, ((IRotate) state.getBlock()).getRotationAxis(state));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -281,7 +281,7 @@ public class BeltBlock extends HorizontalKineticBlock
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
world.setBlockState(context.getPos(), state.with(CASING, false), 3);
|
world.setBlockState(context.getPos(), state.with(CASING, false), 3);
|
||||||
if (!player.isCreative())
|
if (!player.isCreative())
|
||||||
player.inventory.placeItemBackInInventory(world, new ItemStack(AllBlocks.BRASS_CASING.block));
|
player.inventory.placeItemBackInInventory(world, new ItemStack(AllBlocks.BRASS_CASING.get()));
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -292,7 +292,7 @@ public class BeltBlock extends HorizontalKineticBlock
|
||||||
belt.detachKinetics();
|
belt.detachKinetics();
|
||||||
belt.attachKinetics();
|
belt.attachKinetics();
|
||||||
if (!player.isCreative())
|
if (!player.isCreative())
|
||||||
player.inventory.placeItemBackInInventory(world, new ItemStack(AllBlocks.SHAFT.block));
|
player.inventory.placeItemBackInInventory(world, new ItemStack(AllBlocks.SHAFT.get()));
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ import net.minecraft.world.World;
|
||||||
public class BeltConnectorItem extends BlockItem implements IAddedByOther {
|
public class BeltConnectorItem extends BlockItem implements IAddedByOther {
|
||||||
|
|
||||||
public BeltConnectorItem(Properties properties) {
|
public BeltConnectorItem(Properties properties) {
|
||||||
super(AllBlocks.BELT.block, properties);
|
super(AllBlocks.BELT.get(), properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -53,7 +53,7 @@ public class GaugeTileEntityRenderer extends KineticTileEntityRenderer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected BlockState getRenderedBlockState(KineticTileEntity te) {
|
protected BlockState getRenderedBlockState(KineticTileEntity te) {
|
||||||
return AllBlocks.SHAFT.block.getDefaultState().with(BlockStateProperties.AXIS,
|
return AllBlocks.SHAFT.get().getDefaultState().with(BlockStateProperties.AXIS,
|
||||||
((IRotate) te.getBlockState().getBlock()).getRotationAxis(te.getBlockState()));
|
((IRotate) te.getBlockState().getBlock()).getRotationAxis(te.getBlockState()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ public class CrossPlaneMirror extends SymmetryMirror {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getModel() {
|
public BlockState getModel() {
|
||||||
return AllBlocks.SYMMETRY_CROSSPLANE.block.getDefaultState().with(CrossPlaneSymmetryBlock.align,
|
return AllBlocks.SYMMETRY_CROSSPLANE.get().getDefaultState().with(CrossPlaneSymmetryBlock.align,
|
||||||
(Align) orientation);
|
(Align) orientation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class PlaneMirror extends SymmetryMirror {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getModel() {
|
public BlockState getModel() {
|
||||||
return AllBlocks.SYMMETRY_PLANE.block.getDefaultState().with(PlaneSymmetryBlock.align, (Align) orientation);
|
return AllBlocks.SYMMETRY_PLANE.get().getDefaultState().with(PlaneSymmetryBlock.align, (Align) orientation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class TriplePlaneMirror extends SymmetryMirror {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockState getModel() {
|
public BlockState getModel() {
|
||||||
return AllBlocks.SYMMETRY_TRIPLEPLANE.block.getDefaultState();
|
return AllBlocks.SYMMETRY_TRIPLEPLANE.get().getDefaultState();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -244,7 +244,7 @@ public class SchematicannonScreen extends AbstractSimiContainerScreen<Schematica
|
||||||
GlStateManager.translated(guiLeft + 240, guiTop + 120, 200);
|
GlStateManager.translated(guiLeft + 240, guiTop + 120, 200);
|
||||||
GlStateManager.scaled(5, 5, 5);
|
GlStateManager.scaled(5, 5, 5);
|
||||||
|
|
||||||
itemRenderer.renderItemIntoGUI(new ItemStack(AllBlocks.SCHEMATICANNON.block), 0, 0);
|
itemRenderer.renderItemIntoGUI(new ItemStack(AllBlocks.SCHEMATICANNON.get()), 0, 0);
|
||||||
|
|
||||||
GlStateManager.popMatrix();
|
GlStateManager.popMatrix();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue