Added more items

Added more items from previous versions, including the Demon Crystal Clusters.
This commit is contained in:
WayofTime 2020-11-02 18:53:48 -05:00
parent 4f46dc150d
commit bacd3d27f2
101 changed files with 3992 additions and 21 deletions

View file

@ -5,12 +5,16 @@ import net.minecraft.data.DataGenerator;
import net.minecraft.util.Direction;
import net.minecraftforge.client.model.generators.BlockStateProvider;
import net.minecraftforge.client.model.generators.ConfiguredModel;
import net.minecraftforge.client.model.generators.ConfiguredModel.Builder;
import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.client.model.generators.MultiPartBlockStateBuilder;
import net.minecraftforge.client.model.generators.MultiPartBlockStateBuilder.PartBuilder;
import net.minecraftforge.client.model.generators.VariantBlockStateBuilder;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.fml.RegistryObject;
import wayoftime.bloodmagic.BloodMagic;
import wayoftime.bloodmagic.common.block.BlockAlchemicalReactionChamber;
import wayoftime.bloodmagic.common.block.BlockDemonCrystal;
import wayoftime.bloodmagic.common.block.BloodMagicBlocks;
public class GeneratorBlockStates extends BlockStateProvider
@ -41,6 +45,12 @@ public class GeneratorBlockStates extends BlockStateProvider
buildCubeAll(BloodMagicBlocks.DAWN_RITUAL_STONE.get());
buildFurnace(BloodMagicBlocks.ALCHEMICAL_REACTION_CHAMBER.get());
buildCrystal(BloodMagicBlocks.RAW_CRYSTAL_BLOCK.get(), "defaultcrystal");
buildCrystal(BloodMagicBlocks.CORROSIVE_CRYSTAL_BLOCK.get(), "corrosivecrystal");
buildCrystal(BloodMagicBlocks.DESTRUCTIVE_CRYSTAL_BLOCK.get(), "destructivecrystal");
buildCrystal(BloodMagicBlocks.VENGEFUL_CRYSTAL_BLOCK.get(), "vengefulcrystal");
buildCrystal(BloodMagicBlocks.STEADFAST_CRYSTAL_BLOCK.get(), "steadfastcrystal");
}
private void buildCubeAll(Block block)
@ -48,6 +58,53 @@ public class GeneratorBlockStates extends BlockStateProvider
getVariantBuilder(block).forAllStates(state -> ConfiguredModel.builder().modelFile(cubeAll(block)).build());
}
private void buildCrystal(Block block, String name)
{
MultiPartBlockStateBuilder builder = getMultipartBuilder(block);
ModelFile[] crystalModels = new ModelFile[7];
for (int i = 0; i < 7; i++)
{
crystalModels[i] = models().withExistingParent("block/crystal/" + name + (i + 1), modLoc("crystal" + (i + 1))).texture("crystal", modLoc("models/" + name));
}
for (int i = 0; i < 7; i++)
{
Integer[] intArray = new Integer[7 - i];
for (int j = i; j < 7; j++)
{
intArray[j - i] = j;
}
for (Direction direction : Direction.values())
{
Builder<PartBuilder> partBuilder = builder.part().modelFile(crystalModels[i]);
switch (direction)
{
case UP:
break;
case DOWN:
partBuilder = partBuilder.rotationX(180);
break;
case EAST:
partBuilder = partBuilder.rotationX(90).rotationY(90);
break;
case WEST:
partBuilder = partBuilder.rotationX(90).rotationY(270);
break;
case NORTH:
partBuilder = partBuilder.rotationX(90);
break;
case SOUTH:
partBuilder = partBuilder.rotationX(270);
break;
}
partBuilder.addModel().condition(BlockDemonCrystal.AGE, intArray).condition(BlockDemonCrystal.ATTACHED, direction).end();
}
}
}
private void buildFurnace(Block block)
{
// ConfiguredModel[] furnaceModel = ConfiguredModel.builder().modelFile().build();