Skip to content

Commit

Permalink
Initial work on Palm & Deadwood sign
Browse files Browse the repository at this point in the history
  • Loading branch information
GirafiStudios committed Nov 1, 2020
1 parent f9ae70d commit 4020b85
Show file tree
Hide file tree
Showing 26 changed files with 226 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.teammetallurgy.atum.blocks.wood;

import com.teammetallurgy.atum.init.AtumTileEntities;
import net.minecraft.block.StandingSignBlock;
import net.minecraft.block.WoodType;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockReader;

import javax.annotation.Nonnull;

public class AtumStandingSignBlock extends StandingSignBlock {

public AtumStandingSignBlock(Properties properties, WoodType type) {
super(properties, type);
}

@Override
public TileEntity createNewTileEntity(@Nonnull IBlockReader world) {
return AtumTileEntities.SIGN.create();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.teammetallurgy.atum.blocks.wood;

import com.teammetallurgy.atum.init.AtumTileEntities;
import net.minecraft.block.Block;
import net.minecraft.block.WallSignBlock;
import net.minecraft.block.WoodType;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockReader;

import javax.annotation.Nonnull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class AtumWallSignBlock extends WallSignBlock {
public static final HashMap<Block, Block> WALL_SIGN_BLOCKS = new HashMap<>();

public AtumWallSignBlock(Properties properties, WoodType type) {
super(properties, type);
}

@Override
public TileEntity createNewTileEntity(@Nonnull IBlockReader world) {
return AtumTileEntities.SIGN.create();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.teammetallurgy.atum.blocks.wood;

import net.minecraft.block.WoodType;

public class AtumWoodTypes extends WoodType {
public static final WoodType PALM = register(new AtumWoodTypes("palm"));
public static final WoodType DEADWOOD = register(new AtumWoodTypes("deadwood"));

protected AtumWoodTypes(String name) {
super("atum_" + name);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.teammetallurgy.atum.blocks.wood.tileentity;

import com.teammetallurgy.atum.init.AtumTileEntities;
import net.minecraft.tileentity.SignTileEntity;
import net.minecraft.tileentity.TileEntityType;

import javax.annotation.Nonnull;

public class AtumSignTileEntity extends SignTileEntity {

@Override
@Nonnull
public TileEntityType<?> getType() {
return AtumTileEntities.SIGN;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import net.minecraft.client.renderer.entity.ArrowRenderer;
import net.minecraft.client.renderer.entity.LlamaSpitRenderer;
import net.minecraft.client.renderer.entity.SpriteRenderer;
import net.minecraft.client.renderer.tileentity.SignTileEntityRenderer;
import net.minecraft.entity.EntityType;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
Expand Down Expand Up @@ -206,6 +207,7 @@ public static void registerModels(ModelRegistryEvent event) {
ClientRegistry.bindTileEntityRenderer(AtumTileEntities.HEART_OF_RA, HeartOfRaBaseRender::new);
ClientRegistry.bindTileEntityRenderer(AtumTileEntities.RADIANT_BEACON, RadiantBeaconRender::new);
ClientRegistry.bindTileEntityRenderer(AtumTileEntities.QUERN, QuernRender::new);
ClientRegistry.bindTileEntityRenderer(AtumTileEntities.SIGN, SignTileEntityRenderer::new);
RenderingRegistry.registerEntityRenderingHandler(AtumEntities.TARANTULA, TarantulaRender::new);
RenderingRegistry.registerEntityRenderingHandler(AtumEntities.ASSASSIN, AtumBipedRender::new);
RenderingRegistry.registerEntityRenderingHandler(AtumEntities.SERGEANT, AtumBipedRender::new);
Expand Down Expand Up @@ -282,5 +284,9 @@ public static void onTextureStitch(TextureStitchEvent.Pre event) {
event.addSprite(location);
}
}
if (event.getMap().getTextureLocation().equals(Atlases.SIGN_ATLAS)) {
event.addSprite(new ResourceLocation("entity/signs/atum_palm"));
event.addSprite(new ResourceLocation("entity/signs/atum_deadwood"));
}
}
}
4 changes: 3 additions & 1 deletion src/main/java/com/teammetallurgy/atum/init/AtumBlocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import net.minecraftforge.common.ToolType;
import net.minecraftforge.registries.ObjectHolder;

import static com.teammetallurgy.atum.misc.AtumRegistry.registerSign;
import static com.teammetallurgy.atum.misc.AtumRegistry.registerBlock;
import static com.teammetallurgy.atum.misc.AtumRegistry.registerTorch;
import static net.minecraft.block.AbstractBlock.Properties.create;
Expand Down Expand Up @@ -389,7 +390,8 @@ public class AtumBlocks {
public static final Block LIMESTONE_PRESSURE_PLATE = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.MOBS, AbstractBlock.Properties.create(Material.ROCK).setRequiresTool().doesNotBlockMovement().hardnessAndResistance(0.5F)), "limestone_pressure_plate");
public static final Block PALM_PRESSURE_PLATE = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, AbstractBlock.Properties.create(Material.WOOD, PALM_PLANKS.getMaterialColor()).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "palm_pressure_plate");
public static final Block DEADWOOD_PRESSURE_PLATE = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, AbstractBlock.Properties.create(Material.WOOD, DEADWOOD_PLANKS.getMaterialColor()).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "deadwood_pressure_plate");
public static final Block PALM_SIGN = registerBlock(new StandingSignBlock(PressurePlateBlock.Sensitivity.EVERYTHING, AbstractBlock.Properties.create(Material.WOOD, PALM_PLANKS.getMaterialColor()).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "palm_sign");
public static final Block PALM_SIGN = registerSign(new AtumStandingSignBlock(AbstractBlock.Properties.create(Material.WOOD).doesNotBlockMovement().hardnessAndResistance(1.0F).sound(SoundType.WOOD), AtumWoodTypes.PALM), AtumWoodTypes.PALM);
public static final Block DEADWOOD_SIGN = registerSign(new AtumStandingSignBlock(AbstractBlock.Properties.create(Material.WOOD).doesNotBlockMovement().hardnessAndResistance(1.0F).sound(SoundType.WOOD), AtumWoodTypes.DEADWOOD), AtumWoodTypes.DEADWOOD);
public static final Block HEART_OF_RA = AtumItems.HEART_OF_RA;

public static void setBlockInfo() {
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/teammetallurgy/atum/init/AtumItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
import com.teammetallurgy.atum.items.tools.*;
import com.teammetallurgy.atum.misc.AtumRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.inventory.EquipmentSlotType;
import net.minecraft.item.*;
import net.minecraft.potion.EffectInstance;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@
import com.teammetallurgy.atum.blocks.stone.limestone.chest.tileentity.SarcophagusTileEntity;
import com.teammetallurgy.atum.blocks.stone.limestone.tileentity.LimestoneFurnaceTileEntity;
import com.teammetallurgy.atum.blocks.trap.tileentity.*;
import com.teammetallurgy.atum.blocks.wood.AtumWallSignBlock;
import com.teammetallurgy.atum.blocks.wood.tileentity.AtumSignTileEntity;
import com.teammetallurgy.atum.blocks.wood.tileentity.crate.CrateTileEntity;
import net.minecraft.tileentity.SignTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ResourceLocation;
Expand Down Expand Up @@ -46,6 +49,7 @@ public class AtumTileEntities {
public static final TileEntityType<QuernTileEntity> QUERN = null;
public static final TileEntityType<SpinningWheelTileEntity> SPINNING_WHEEL = null;
public static final TileEntityType<KilnTileEntity> KILN = null;
public static final TileEntityType<AtumSignTileEntity> SIGN = null;


@SubscribeEvent
Expand All @@ -65,6 +69,7 @@ public static void registerTileEntities(RegistryEvent.Register<TileEntityType<?>
registerTileEntity("quern", TileEntityType.Builder.create(QuernTileEntity::new, AtumBlocks.QUERN));
registerTileEntity("spinning_wheel", TileEntityType.Builder.create(SpinningWheelTileEntity::new, AtumBlocks.SPINNING_WHEEL));
registerTileEntity("kiln", TileEntityType.Builder.create(KilnTileEntity::new, AtumBlocks.KILN, AtumBlocks.KILN_FAKE));
registerTileEntity("sign", TileEntityType.Builder.create(AtumSignTileEntity::new, AtumBlocks.PALM_SIGN, AtumBlocks.DEADWOOD_SIGN, AtumWallSignBlock.WALL_SIGN_BLOCKS.get(AtumBlocks.PALM_SIGN), AtumWallSignBlock.WALL_SIGN_BLOCKS.get(AtumBlocks.DEADWOOD_SIGN)));

for (TileEntityType<?> tileEntityType : TILE_ENTITY_TYPES) {
event.getRegistry().register(tileEntityType);
Expand Down
26 changes: 17 additions & 9 deletions src/main/java/com/teammetallurgy/atum/misc/AtumRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,23 @@

import com.google.common.collect.Lists;
import com.teammetallurgy.atum.Atum;
import com.teammetallurgy.atum.blocks.wood.AtumTorchUnlitBlock;
import com.teammetallurgy.atum.blocks.wood.AtumWallTorch;
import com.teammetallurgy.atum.blocks.wood.AtumWallTorchUnlitBlock;
import com.teammetallurgy.atum.blocks.wood.*;
import com.teammetallurgy.atum.entity.projectile.arrow.CustomArrow;
import com.teammetallurgy.atum.entity.undead.PharaohEntity;
import com.teammetallurgy.atum.init.*;
import com.teammetallurgy.atum.items.RelicItem;
import com.teammetallurgy.atum.items.tools.ScepterItem;
import com.teammetallurgy.atum.misc.datagenerator.BlockStatesGenerator;
import com.teammetallurgy.atum.misc.datagenerator.RecipeGenerator;
import net.minecraft.block.Block;
import net.minecraft.block.*;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer;
import net.minecraft.data.BiomeProvider;
import net.minecraft.data.DataGenerator;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.SpawnEggItem;
import net.minecraft.item.WallOrFloorItem;
import net.minecraft.item.*;
import net.minecraft.particles.BasicParticleType;
import net.minecraft.particles.ParticleType;
import net.minecraft.util.RegistryKey;
Expand Down Expand Up @@ -166,10 +162,22 @@ public static Block registerBlockWithItem(@Nonnull Block block, BlockItem blockI
public static Block registerBaseBlock(@Nonnull Block block, @Nonnull String name) {
block.setRegistryName(new ResourceLocation(Atum.MOD_ID, name));
BLOCKS.add(block);

return block;
}

/**
* Allows for easy registering of signs, that handles Ground Sign, Wall Sign and Item sign registration
*/
public static Block registerSign(@Nonnull Block signBlock, @Nonnull WoodType woodType) {
String typeName = woodType.getName().replace("atum_", "");
Block wallSignBlock = new AtumWallSignBlock(AbstractBlock.Properties.create(Material.WOOD).doesNotBlockMovement().hardnessAndResistance(1.0F).sound(SoundType.WOOD).lootFrom(signBlock), woodType);
Item signItem = new SignItem((new Item.Properties()).maxStackSize(16).group(Atum.GROUP), signBlock, wallSignBlock);
AtumWallSignBlock.WALL_SIGN_BLOCKS.put(signBlock, wallSignBlock);
registerItem(signItem, typeName + "_sign");
registerBaseBlock(wallSignBlock, typeName + "_wall_sign");
return registerBaseBlock(signBlock, typeName + "_sign");
}

/**
* Registers any mob, that will have a spawn egg.
*
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/META-INF/accesstransformer.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ public net.minecraft.item.crafting.RecipeManager func_215366_a(Lnet/minecraft/it
public net.minecraft.village.PointOfInterestType func_221052_a(Lnet/minecraft/village/PointOfInterestType;)Lnet/minecraft/village/PointOfInterestType; # registerBlockStates
public net.minecraft.world.gen.feature.structure.Structure field_236385_u_ #STRUCTURE_DECORATION_STAGE_MAP
public net.minecraft.world.gen.foliageplacer.FoliagePlacerType <init>(Lcom/mojang/serialization/Codec;)V
public net.minecraft.world.gen.trunkplacer.TrunkPlacerType <init>(Lcom/mojang/serialization/Codec;)V
public net.minecraft.world.gen.trunkplacer.TrunkPlacerType <init>(Lcom/mojang/serialization/Codec;)V
public net.minecraft.block.WoodType func_227047_a_(Lnet/minecraft/block/WoodType;)Lnet/minecraft/block/WoodType; # register
7 changes: 7 additions & 0 deletions src/main/resources/assets/atum/blockstates/deadwood_sign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "atum:block/deadwood_sign"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "atum:block/deadwood_sign"
}
}
}
7 changes: 7 additions & 0 deletions src/main/resources/assets/atum/blockstates/palm_sign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "atum:block/palm_sign"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "atum:block/palm_sign"
}
}
}
4 changes: 4 additions & 0 deletions src/main/resources/assets/atum/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -264,13 +264,17 @@
"block.atum.palm_ladder": "Palm Ladder",
"block.atum.palm_button": "Palm Button",
"block.atum.palm_pressure_plate": "Palm Pressure Plate",
"block.atum.palm_sign": "Palm Sign",
"block.atum.palm_wall_sign": "Palm Wall Sign",
"block.atum.deadwood_planks": "Deadwood Planks",
"block.atum.deadwood_door": "Deadwood Door",
"block.atum.deadwood_fence": "Deadwood Fence",
"block.atum.deadwood_fence_gate": "Deadwood Fence Gate",
"block.atum.deadwood_hatch": "Deadwood Hatch",
"block.atum.deadwood_ladder": "Deadwood Ladder",
"block.atum.deadwood_button": "Deadwood Button",
"block.atum.deadwood_sign": "Deadwood Sign",
"block.atum.deadwood_wall_sign": "Deadwood Wall Sign",
"block.atum.deadwood_pressure_plate": "Deadwood Pressure Plate",
"block.atum.palm_torch": "Palm Torch",
"block.atum.deadwood_torch": "Deadwood Torch",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"textures": {
"particle": "atum:block/deadwood_planks"
}
}
5 changes: 5 additions & 0 deletions src/main/resources/assets/atum/models/block/palm_sign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"textures": {
"particle": "atum:block/palm_planks"
}
}
6 changes: 6 additions & 0 deletions src/main/resources/assets/atum/models/item/deadwood_sign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "atum:item/deadwood_sign"
}
}
6 changes: 6 additions & 0 deletions src/main/resources/assets/atum/models/item/palm_sign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "atum:item/palm_sign"
}
}
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions src/main/resources/data/atum/recipes/deadwood_sign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"group": "sign",
"pattern": [
"###",
"###",
" X "
],
"key": {
"#": {
"item": "atum:deadwood_planks"
},
"X": {
"tag": "forge:rods/wooden"
}
},
"result": {
"item": "atum:deadwood_sign",
"count": 3
}
}
21 changes: 21 additions & 0 deletions src/main/resources/data/atum/recipes/palm_sign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"group": "sign",
"pattern": [
"###",
"###",
" X "
],
"key": {
"#": {
"item": "atum:palm_planks"
},
"X": {
"tag": "forge:rods/wooden"
}
},
"result": {
"item": "atum:palm_sign",
"count": 3
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"atum:palm_sign",
"atum:deadwood_sign"
]
}
7 changes: 7 additions & 0 deletions src/main/resources/data/minecraft/tags/blocks/wall_signs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"atum:palm_wall_sign",
"atum:deadwood_wall_sign"
]
}
7 changes: 7 additions & 0 deletions src/main/resources/data/minecraft/tags/items/signs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"atum:palm_sign",
"atum:deadwood_sign"
]
}

0 comments on commit 4020b85

Please sign in to comment.