Skip to content

Commit

Permalink
iron hoops
Browse files Browse the repository at this point in the history
  • Loading branch information
jaquadro committed Dec 7, 2015
1 parent a92cf41 commit a1b40c8
Show file tree
Hide file tree
Showing 9 changed files with 146 additions and 1 deletion.
1 change: 1 addition & 0 deletions resources/assets/gardencore/lang/en_US.lang
Expand Up @@ -140,6 +140,7 @@ tile.gardenstuff.mossBrick.cracked_mossy_2.name=Mossy Cracked Stone Bricks
tile.gardenstuff.mossBrick.cracked_mossy_3.name=Mossy Cracked Stone Bricks
tile.gardenstuff.mossBrick.cracked_mossy_4.name=Mossy Cracked Stone Bricks
tile.gardenstuff.candelabra.name=Candelabra
tile.gardenstuff.hoop.name=Wrought Iron Hoop

gardenstuff.lanternSource=Contents
gardenstuff.lanternSource.none=Empty
Expand Down
Expand Up @@ -82,6 +82,11 @@ public boolean shouldSideBeRendered (IBlockAccess world, int x, int y, int z, in
return true;
}

@Override
public int damageDropped (int meta) {
return meta;
}

@Override
public void setBlockBoundsBasedOnState (IBlockAccess world, int x, int y, int z) {
TileEntityCandelabra tile = getTileEntity(world, x, y, z);
Expand Down
59 changes: 59 additions & 0 deletions src/com/jaquadro/minecraft/gardenstuff/block/BlockHoop.java
@@ -0,0 +1,59 @@
package com.jaquadro.minecraft.gardenstuff.block;

import com.jaquadro.minecraft.gardencore.api.block.IChainAttachable;
import com.jaquadro.minecraft.gardencore.core.ModCreativeTabs;
import com.jaquadro.minecraft.gardenstuff.GardenStuff;
import com.jaquadro.minecraft.gardenstuff.core.ClientProxy;
import com.jaquadro.minecraft.gardenstuff.core.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.util.IIcon;
import net.minecraft.util.Vec3;

public class BlockHoop extends Block implements IChainAttachable
{
public BlockHoop (String name) {
super(Material.iron);

setBlockName(name);
setHardness(2.5f);
setResistance(5f);
setStepSound(soundTypeMetal);
setBlockBounds(0, .0625f, 0, 1, .375f, 1);
setBlockTextureName(GardenStuff.MOD_ID + "hoop");
setCreativeTab(ModCreativeTabs.tabGardenCore);
}

@Override
public boolean isOpaqueCube () {
return false;
}

@Override
public boolean renderAsNormalBlock () {
return false;
}

@Override
public int getRenderType () {
return ClientProxy.hoopRenderID;
}

@Override
public IIcon getIcon (int side, int meta) {
return ModBlocks.metalBlock.getIcon(side, meta);
}

private Vec3[] attachPoints = new Vec3[] {
Vec3.createVectorHelper(.03125, .375f, .03125), Vec3.createVectorHelper(.03125, .375f, 1 - .03125),
Vec3.createVectorHelper(1 - .03125, .375f, .03125), Vec3.createVectorHelper(1 - .03125, .375f, 1 - .03125),
};

@Override
public Vec3[] getChainAttachPoints (int side) {
if (side == 1)
return attachPoints;

return null;
}
}
3 changes: 3 additions & 0 deletions src/com/jaquadro/minecraft/gardenstuff/core/ClientProxy.java
Expand Up @@ -14,6 +14,7 @@ public class ClientProxy extends CommonProxy
public static int lanternRenderID;
public static int fenceRenderID;
public static int sconceRenderID;
public static int hoopRenderID;

public static LanternRenderer lanternRenderer;

Expand All @@ -25,6 +26,7 @@ public void registerRenderers () {
lanternRenderID = RenderingRegistry.getNextAvailableRenderId();
fenceRenderID = RenderingRegistry.getNextAvailableRenderId();
sconceRenderID = RenderingRegistry.getNextAvailableRenderId();
hoopRenderID = RenderingRegistry.getNextAvailableRenderId();

lanternRenderer = new LanternRenderer();

Expand All @@ -34,6 +36,7 @@ public void registerRenderers () {
RenderingRegistry.registerBlockHandler(lanternRenderID, lanternRenderer);
RenderingRegistry.registerBlockHandler(fenceRenderID, new FenceRenderer());
RenderingRegistry.registerBlockHandler(sconceRenderID, new CandelabraRenderer());
RenderingRegistry.registerBlockHandler(hoopRenderID, new HoopRenderer());

MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.lantern), new LanternItemRenderer());
}
Expand Down
3 changes: 3 additions & 0 deletions src/com/jaquadro/minecraft/gardenstuff/core/ModBlocks.java
Expand Up @@ -27,6 +27,7 @@ public class ModBlocks
public static BlockBloomeryFurnace bloomeryFurnace;
public static BlockMossBrick mossBrick;
public static BlockCandelabra candelabra;
public static BlockHoop hoop;

public void init () {
heavyChain = new BlockHeavyChain(makeName("heavyChain"));
Expand All @@ -42,6 +43,7 @@ public void init () {
bloomeryFurnace = new BlockBloomeryFurnace(makeName("bloomeryFurnace"));
mossBrick = new BlockMossBrick(makeName("mossBrick"));
candelabra = new BlockCandelabra(makeName("candelabra"));
hoop = new BlockHoop(makeName("hoop"));

GameRegistry.registerBlock(heavyChain, ItemHeavyChain.class, "heavy_chain");
GameRegistry.registerBlock(lightChain, ItemLightChain.class, "light_chain");
Expand All @@ -55,6 +57,7 @@ public void init () {
GameRegistry.registerBlock(bloomeryFurnace, "bloomery_furnace");
GameRegistry.registerBlock(mossBrick, ItemMossBrick.class, "moss_brick");
GameRegistry.registerBlock(candelabra, ItemCandelabra.class, "candelabra");
GameRegistry.registerBlock(hoop, "hoop");
//GameRegistry.registerBlock(largeMountingPlate, "large_mounting_plate");

GameRegistry.registerTileEntity(TileEntityLatticeMetal.class, ModBlocks.getQualifiedName(latticeMetal));
Expand Down
3 changes: 3 additions & 0 deletions src/com/jaquadro/minecraft/gardenstuff/core/ModRecipes.java
Expand Up @@ -97,6 +97,9 @@ public void init () {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.candelabra, 4, 2), "xxx", "yyy", " z ",
'x', ModItems.candle, 'y', "nuggetWroughtIron", 'z', "ingotWroughtIron"));

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.hoop, 2, 0), "xyx", "y y", "xyx",
'x', "nuggetWroughtIron", 'y', "ingotWroughtIron"));

GameRegistry.addSmelting(wroughtIronIngot, new ItemStack(Items.iron_ingot), 0);
}
}
64 changes: 64 additions & 0 deletions src/com/jaquadro/minecraft/gardenstuff/renderer/HoopRenderer.java
@@ -0,0 +1,64 @@
package com.jaquadro.minecraft.gardenstuff.renderer;

import com.jaquadro.minecraft.gardencore.client.renderer.support.ModularBoxRenderer;
import com.jaquadro.minecraft.gardenstuff.block.BlockHoop;
import com.jaquadro.minecraft.gardenstuff.core.ClientProxy;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11;

public class HoopRenderer implements ISimpleBlockRenderingHandler
{
private ModularBoxRenderer boxrender = new ModularBoxRenderer();

@Override
public void renderInventoryBlock (Block block, int metadata, int modelId, RenderBlocks renderer) {
if (!(block instanceof BlockHoop))
return;

renderInventoryBlock((BlockHoop) block, metadata, modelId, renderer);
}

private void renderInventoryBlock (BlockHoop block, int metadata, int modelId, RenderBlocks renderer) {
GL11.glRotatef(90, 0, 1, 0);
GL11.glTranslatef(-.5f, -.5f, -.5f);

boxrender.setUnit(0.0625f);
boxrender.setIcon(block.getIcon(0, 0));
boxrender.setColor(ModularBoxRenderer.COLOR_WHITE);

boxrender.renderBox(null, block, 0, 0, 0, 0, .0625f, 0, 1, .375f, 1, 0, ModularBoxRenderer.CUT_YNEG | ModularBoxRenderer.CUT_YPOS);

GL11.glTranslatef(.5f, .5f, .5f);
}

@Override
public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
if (!(block instanceof BlockHoop))
return false;

return renderWorldBlock(world, x, y, z, (BlockHoop) block, modelId, renderer);
}

private boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, BlockHoop block, int modelId, RenderBlocks renderer) {
boxrender.setUnit(0.0625f);
boxrender.setIcon(block.getIcon(0, 0));
boxrender.setColor(ModularBoxRenderer.COLOR_WHITE);

boxrender.renderBox(world, block, x, y, z, 0, .0625f, 0, 1, .375f, 1, 0, ModularBoxRenderer.CUT_YNEG | ModularBoxRenderer.CUT_YPOS);

return true;
}

@Override
public boolean shouldRender3DInInventory (int modelId) {
return true;
}

@Override
public int getRenderId () {
return ClientProxy.hoopRenderID;
}
}
4 changes: 3 additions & 1 deletion src/com/jaquadro/minecraft/gardentrees/GardenTrees.java
Expand Up @@ -54,7 +54,9 @@ public void init (FMLInitializationEvent event) {
FMLCommonHandler.instance().bus().register(new ForgeEventHandler());

GameRegistry.registerFuelHandler(new FuelHandler());
GameRegistry.registerWorldGenerator(new WorldGenCandelilla(ModBlocks.candelilla), 10);

if (config.generateCandelilla)
GameRegistry.registerWorldGenerator(new WorldGenCandelilla(ModBlocks.candelilla), 10);
}

@Mod.EventHandler
Expand Down
Expand Up @@ -24,6 +24,7 @@ public class ConfigManager
public int strangePlantDropMax;

public boolean compostGrowsOrnamentalTrees;
public boolean generateCandelilla;

public ConfigManager (File file) {
config = new Configuration(file);
Expand All @@ -47,6 +48,10 @@ public ConfigManager (File file) {
propCompostGrowsOrnamentalTrees.comment = "Using compost on saplings will grow ornamental (miniature) trees instead of normal trees.";
compostGrowsOrnamentalTrees = propCompostGrowsOrnamentalTrees.getBoolean();

Property propGenerateCandelilla = config.get(Configuration.CATEGORY_GENERAL, "generateCandelilla", true);
propGenerateCandelilla.comment = "Generates clusters of candelilla shrub in warm, sandy biomes.";
generateCandelilla = propGenerateCandelilla.getBoolean();

config.save();
}

Expand Down

0 comments on commit a1b40c8

Please sign in to comment.