Skip to content

Commit

Permalink
Add all new block states except stripped_mangrove_wood
Browse files Browse the repository at this point in the history
  • Loading branch information
Creeperface01 committed Jun 15, 2022
1 parent 59adf2c commit 3517603
Show file tree
Hide file tree
Showing 12 changed files with 112 additions and 77 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,21 +33,16 @@ public abstract class BlockBehaviorFence extends BlockBehaviorTransparent {

@Override
public BlockColor getColor(Block block) {
switch (block.getState().ensureTrait(BlockTraits.TREE_SPECIES)) {
default:
case OAK:
return BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE:
return BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH:
return BlockColor.SAND_BLOCK_COLOR;
case JUNGLE:
return BlockColor.DIRT_BLOCK_COLOR;
case ACACIA:
return BlockColor.ORANGE_BLOCK_COLOR;
case DARK_OAK:
return BlockColor.BROWN_BLOCK_COLOR;
}
return switch (block.getState().ensureTrait(BlockTraits.TREE_SPECIES)) {
case OAK -> BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE -> BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH -> BlockColor.SAND_BLOCK_COLOR;
case JUNGLE -> BlockColor.DIRT_BLOCK_COLOR;
case ACACIA -> BlockColor.ORANGE_BLOCK_COLOR;
case DARK_OAK -> BlockColor.BROWN_BLOCK_COLOR;
case MANGROVE -> BlockColor.RED_BLOCK_COLOR; //TODO: ?
default -> BlockColor.WOOD_BLOCK_COLOR;
};
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,14 @@ public boolean place(ItemStack item, Block block, Block target, Direction face,

@Override
public BlockColor getColor(Block block) {
switch (block.getState().ensureTrait(BlockTraits.TREE_SPECIES)) {
default:
case OAK:
return BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE:
return BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH:
return BlockColor.SAND_BLOCK_COLOR;
case JUNGLE:
return BlockColor.DIRT_BLOCK_COLOR;
}
return switch (block.getState().ensureTrait(BlockTraits.TREE_SPECIES)) {
case OAK -> BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE -> BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH -> BlockColor.SAND_BLOCK_COLOR;
case JUNGLE -> BlockColor.DIRT_BLOCK_COLOR;
case MANGROVE -> BlockColor.RED_BLOCK_COLOR; //TODO ?
default -> BlockColor.WOOD_BLOCK_COLOR;
};
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,15 @@ public class BlockBehaviorPlanks extends BlockBehaviorSolid {

@Override
public BlockColor getColor(Block block) {
switch (block.getState().ensureTrait(BlockTraits.TREE_SPECIES)) {
default:
case OAK:
return BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE:
return BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH:
return BlockColor.SAND_BLOCK_COLOR;
case JUNGLE:
return BlockColor.DIRT_BLOCK_COLOR;
case ACACIA:
return BlockColor.ORANGE_BLOCK_COLOR;
case DARK_OAK:
return BlockColor.BROWN_BLOCK_COLOR;
}
return switch (block.getState().ensureTrait(BlockTraits.TREE_SPECIES)) {
case OAK -> BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE -> BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH -> BlockColor.SAND_BLOCK_COLOR;
case JUNGLE -> BlockColor.DIRT_BLOCK_COLOR;
case ACACIA -> BlockColor.ORANGE_BLOCK_COLOR;
case DARK_OAK -> BlockColor.BROWN_BLOCK_COLOR;
case MANGROVE -> BlockColor.RED_BLOCK_COLOR;
default -> BlockColor.WOOD_BLOCK_COLOR;
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -66,20 +66,15 @@ public TreeSpecies getWoodType(BlockState state) {

@Override
public BlockColor getColor(Block block) {
switch (getWoodType(block.getState())) {
default:
case OAK:
return BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE:
return BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH:
return BlockColor.SAND_BLOCK_COLOR;
case JUNGLE:
return BlockColor.DIRT_BLOCK_COLOR;
case ACACIA:
return BlockColor.ORANGE_BLOCK_COLOR;
case DARK_OAK: //DARK OAK
return BlockColor.BROWN_BLOCK_COLOR;
}
return switch (getWoodType(block.getState())) {
case OAK -> BlockColor.WOOD_BLOCK_COLOR;
case SPRUCE -> BlockColor.SPRUCE_BLOCK_COLOR;
case BIRCH -> BlockColor.SAND_BLOCK_COLOR;
case JUNGLE -> BlockColor.DIRT_BLOCK_COLOR;
case ACACIA -> BlockColor.ORANGE_BLOCK_COLOR;
case DARK_OAK -> BlockColor.BROWN_BLOCK_COLOR;
case MANGROVE -> BlockColor.RED_BLOCK_COLOR;
default -> BlockColor.WOOD_BLOCK_COLOR; //TODO: ?
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ public class MultiBlockSerializers {
.add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.DARK_OAK.name().toLowerCase(), LOG2)
.add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_STEM, true)
.add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_STEM, true)
.add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_LOG, true)
.add(
STRIPPED_OAK_LOG,
Builder.combine(BedrockStateTags.TAG_OLD_LOG_TYPE, TreeSpecies.OAK.name().toLowerCase(), true),
Expand Down Expand Up @@ -150,13 +151,26 @@ public class MultiBlockSerializers {
Builder.combine(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.WARPED.name().toLowerCase(), true),
Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, true)
)
.add(
STRIPPED_MANGROVE_LOG,
Builder.combine(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true),
Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, true)
)
.buildSerializer();

public static final MultiBlockSerializer LEAVES = builder()
.add(BedrockStateTags.TAG_OLD_LEAF_TYPE, BlockIds.LEAVES)
.add(BedrockStateTags.TAG_NEW_LEAF_TYPE, LEAVES2)
.buildSerializer();

// public static final MultiBlockSerializer SAPLING = builder()
// .add(
// MANGROVE_PROPAGULE,
// Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(Locale.ROOT), true)
// )
// .defaultId(BlockIds.SAPLING)
// .buildSerializer();

// public static final MultiBlockSerializer SAPLING = builder()
// .add(BedrockStateTags.TAG_SAPLING_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_FUNGUS, true)
// .add(BedrockStateTags.TAG_SAPLING_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_FUNGUS, true)
Expand Down Expand Up @@ -206,6 +220,7 @@ public class MultiBlockSerializers {
public static final MultiBlockSerializer PLANKS = builder()
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_PLANKS, true)
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_PLANKS, true)
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_PLANKS, true)
.defaultId(BlockIds.OAK_PLANKS)
.buildSerializer();

Expand All @@ -217,7 +232,8 @@ public class MultiBlockSerializers {
ACACIA_STAIRS,
DARK_OAK_STAIRS,
CRIMSON_STAIRS,
WARPED_STAIRS
WARPED_STAIRS,
MANGROVE_STAIRS
);

public static final MultiBlockSerializer WOOD_BUTTON = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE,
Expand All @@ -228,7 +244,8 @@ public class MultiBlockSerializers {
ACACIA_BUTTON,
DARK_OAK_BUTTON,
CRIMSON_BUTTON,
WARPED_BUTTON
WARPED_BUTTON,
MANGROVE_BUTTON
);

public static final MultiBlockSerializer WOOD_DOOR = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE,
Expand All @@ -239,7 +256,8 @@ public class MultiBlockSerializers {
ACACIA_DOOR,
DARK_OAK_DOOR,
CRIMSON_DOOR,
WARPED_DOOR
WARPED_DOOR,
MANGROVE_DOOR
);

public static final MultiBlockSerializer WOOD_FENCE_GATE = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE,
Expand All @@ -250,7 +268,8 @@ public class MultiBlockSerializers {
ACACIA_FENCE_GATE,
DARK_OAK_FENCE_GATE,
CRIMSON_FENCE_GATE,
WARPED_FENCE_GATE
WARPED_FENCE_GATE,
MANGROVE_FENCE_GATE
);

public static final MultiBlockSerializer WOOD_PRESSURE_PLATE = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE,
Expand All @@ -261,7 +280,8 @@ public class MultiBlockSerializers {
ACACIA_PRESSURE_PLATE,
DARK_OAK_PRESSURE_PLATE,
CRIMSON_PRESSURE_PLATE,
WARPED_PRESSURE_PLATE
WARPED_PRESSURE_PLATE,
MANGROVE_PRESSURE_PLATE
);

public static final MultiBlockSerializer WOOD_STANDING_SIGN = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE,
Expand All @@ -272,7 +292,8 @@ public class MultiBlockSerializers {
ACACIA_STANDING_SIGN,
DARK_OAK_STANDING_SIGN,
CRIMSON_STANDING_SIGN,
WARPED_STANDING_SIGN
WARPED_STANDING_SIGN,
MANGROVE_STANDING_SIGN
);

public static final MultiBlockSerializer WOOD_TRAPDOOR = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE,
Expand All @@ -283,7 +304,8 @@ public class MultiBlockSerializers {
ACACIA_TRAPDOOR,
DARK_OAK_TRAPDOOR,
CRIMSON_TRAPDOOR,
WARPED_TRAPDOOR
WARPED_TRAPDOOR,
MANGROVE_TRAPDOOR
);

public static final MultiBlockSerializer WOOD_WALL_SIGN = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE,
Expand All @@ -294,12 +316,14 @@ public class MultiBlockSerializers {
ACACIA_WALL_SIGN,
DARK_OAK_WALL_SIGN,
CRIMSON_WALL_SIGN,
WARPED_WALL_SIGN
WARPED_WALL_SIGN,
MANGROVE_WALL_SIGN
);

public static final MultiBlockSerializer WOOD_FENCE = builder()
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_FENCE, true)
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_FENCE, true)
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_FENCE, true)
.defaultId(BlockIds.FENCE)
.buildSerializer();

Expand All @@ -314,6 +338,16 @@ public class MultiBlockSerializers {
Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), true),
Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, false, true)
)
.add(
MANGROVE_WOOD,
Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true),
Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, false, false)
)
.add(
MANGROVE_WOOD,
Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true),
Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, false)
)
.add(
STRIPPED_CRIMSON_HYPHAE,
Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), true),
Expand All @@ -324,13 +358,19 @@ public class MultiBlockSerializers {
Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), true),
Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, true)
)
// .add(
// STRIPPED_MANGROVE_WOOD,
// Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true),
// Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, false)
// )
.defaultId(BlockIds.WOOD)
.buildSerializer();

public static final MultiBlockSerializer WOODEN_SLAB = builder()
.removeTrait("slab_slot")
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_SLAB, true)
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_SLAB, true)
.add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_SLAB, true)
.add(DOUBLE_WOODEN_SLAB, Builder.combine("slab_slot"))
.add(
CRIMSON_DOUBLE_SLAB,
Expand All @@ -342,6 +382,11 @@ public class MultiBlockSerializers {
Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), true),
Builder.combine("slab_slot")
)
.add(
MANGROVE_DOUBLE_SLAB,
Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true),
Builder.combine("slab_slot")
)
.baseSerializer(NoopBlockSerializer.INSTANCE)
.defaultId(BlockIds.OAK_SLAB)
.buildSerializer();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ public class BedrockStateTags {
public static final String TAG_FLOWER_TYPE = "flower_type";
public static final String TAG_GROUND_SIGN_DIRECTION = "ground_sign_direction";
public static final String TAG_GROWTH = "growth";
public static final String TAG_PROPAGULE_STAGE = "propagule_stage";
public static final String TAG_HANGING = "hanging";
public static final String TAG_HEAD_PIECE_BIT = "head_piece_bit";
public static final String TAG_HEIGHT = "height";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ public String getName(BlockType type, Map<BlockTrait<?>, Comparable<?>> traits,
species = (TreeSpecies) traits.get(BlockTraits.TREE_SPECIES_NETHER);
}

int index = species.ordinal() >> 2;
// System.out.println(species.name());
int index = species.ordinal() < 4 ? 0 : 1;

if (type == BlockTypes.LOG) {
return BEDROCK_LOG_TRAITS[index];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,12 @@ public void deserialize(Identifier id, short meta, int amount, CloudItemStackBui
}

ItemType type = ItemTypes.byId(id);

if (type == null) {
System.out.println("unregistered id: " + id);
return;
}

builder.id(id);
builder.itemType(type);
builder.amount(amount, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ public class TreeSpeciesSerializer extends DefaultItemSerializer {

private static final Map<Class<?>, Object> DEFAULT_VALUES;

public static final TreeSpeciesSerializer DOOR = new TreeSpeciesSerializer(ItemIds.WOODEN_DOOR, ItemIds.SPRUCE_DOOR, ItemIds.BIRCH_DOOR, ItemIds.JUNGLE_DOOR, ItemIds.ACACIA_DOOR, ItemIds.DARK_OAK_DOOR, ItemIds.CRIMSON_DOOR, ItemIds.WARPED_DOOR);
public static final TreeSpeciesSerializer SIGN = new TreeSpeciesSerializer(ItemIds.SIGN, ItemIds.SPRUCE_SIGN, ItemIds.BIRCH_SIGN, ItemIds.JUNGLE_SIGN, ItemIds.ACACIA_SIGN, ItemIds.DARK_OAK_SIGN, ItemIds.CRIMSON_SIGN, ItemIds.WARPED_SIGN);
public static final TreeSpeciesSerializer BOAT = new TreeSpeciesSerializer(ItemIds.OAK_BOAT, ItemIds.SPRUCE_BOAT, ItemIds.BIRCH_BOAT, ItemIds.JUNGLE_BOAT, ItemIds.ACACIA_BOAT, ItemIds.DARK_OAK_BOAT, ItemIds.BOAT, ItemIds.BOAT);
public static final TreeSpeciesSerializer DOOR = new TreeSpeciesSerializer(ItemIds.WOODEN_DOOR, ItemIds.SPRUCE_DOOR, ItemIds.BIRCH_DOOR, ItemIds.JUNGLE_DOOR, ItemIds.ACACIA_DOOR, ItemIds.DARK_OAK_DOOR, ItemIds.CRIMSON_DOOR, ItemIds.WARPED_DOOR, ItemIds.MANGROVE_DOOR);
public static final TreeSpeciesSerializer SIGN = new TreeSpeciesSerializer(ItemIds.SIGN, ItemIds.SPRUCE_SIGN, ItemIds.BIRCH_SIGN, ItemIds.JUNGLE_SIGN, ItemIds.ACACIA_SIGN, ItemIds.DARK_OAK_SIGN, ItemIds.CRIMSON_SIGN, ItemIds.WARPED_SIGN, ItemIds.MANGROVE_SIGN);
public static final TreeSpeciesSerializer BOAT = new TreeSpeciesSerializer(ItemIds.OAK_BOAT, ItemIds.SPRUCE_BOAT, ItemIds.BIRCH_BOAT, ItemIds.JUNGLE_BOAT, ItemIds.ACACIA_BOAT, ItemIds.DARK_OAK_BOAT, ItemIds.BOAT, ItemIds.BOAT, ItemIds.MANGROVE_BOAT);

private final Identifier[] identifiers;
private final Reference2ObjectMap<Identifier, TreeSpecies> dataMap = new Reference2ObjectOpenHashMap<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ private void registerVanillaBlocks() {
this.registerVanilla(DIRT, new BlockBehaviorDirt()); //3
this.registerVanilla(COBBLESTONE, new BlockBehaviorCobblestone()); //4
this.registerVanilla(PLANKS, new BlockBehaviorPlanks(), MultiBlockSerializers.PLANKS); //5
this.registerVanilla(SAPLING, new BlockBehaviorSapling()); //6
this.registerVanilla(SAPLING, new BlockBehaviorSapling()/*, MultiBlockSerializers.SAPLING*/); //6
this.registerVanilla(BEDROCK, new BlockBehaviorBedrock()); //7
this.registerVanilla(FLOWING_WATER, new BlockBehaviorWater(), FluidBlockSerializer.INSTANCE); //8
this.registerVanilla(WATER, new BlockBehaviorWater(), FluidBlockSerializer.INSTANCE); //9
Expand Down Expand Up @@ -496,7 +496,8 @@ private void registerVanillaBlocks() {
this.registerVanilla(MAGMA, new BlockBehaviorMagma()); //213
this.registerVanilla(MANGROVE_LEAVES);
this.registerVanilla(MANGROVE_PROPAGULE);
this.registerVanilla(MANGROVE_PROPAGULE_HANGING);
this.registerVanilla(MANGROVE_ROOTS);
this.registerVanilla(MUDDY_MANGROVE_ROOTS);
this.registerVanilla(NETHER_WART_BLOCK, new BlockNetherWartBlockBehavior(), MultiBlockSerializers.WART_BLOCK); //214
this.registerVanilla(BONE_BLOCK, new BlockBehaviorBone()); //216
this.registerVanilla(STRUCTURE_VOID, NoopBlockBehavior.INSTANCE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;

Expand Down Expand Up @@ -76,11 +75,11 @@ public static CloudRecipeRegistry get() {

public CloudRecipeRegistry(ItemRegistry registry) {
this.itemRegistry = (CloudItemRegistry) registry;
try {
loadFromFile(Thread.currentThread().getContextClassLoader().getResource("data/recipes.json").toURI());
} catch (URISyntaxException | NullPointerException e) {
throw new RegistryException("Unable to load recipes.json", e);
}
// try {
// loadFromFile(Thread.currentThread().getContextClassLoader().getResource("data/recipes.json").toURI());
// } catch (URISyntaxException | NullPointerException e) {
// throw new RegistryException("Unable to load recipes.json", e);
// }

}

Expand Down

0 comments on commit 3517603

Please sign in to comment.