mirror of
https://github.com/GTNewHorizons/Chisel.git
synced 2026-11-12 00:07:37 +00:00
Coloured Sand, as requested. Closes #83
This commit is contained in:
1 parent
b07ecc3ab7
commit
dd178d0169
20 files changed
+204
No files matched your search
@@ -2,6 +2,7 @@ package com.cricketcraft.chisel;
|
||||
|
||||
import com.cricketcraft.chisel.init.ModBlocks;
|
||||
import com.cricketcraft.chisel.init.ModItems;
|
||||
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.init.Blocks;
|
||||
@@ -154,5 +155,16 @@ public class Crafting {
|
||||
{
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.scorching, 8, 0), new Object[]{"xxx", "xyx", "xxx", 'x', "stone", 'y', Items.blaze_rod}));
|
||||
}
|
||||
if(Configurations.featureEnabled("coloredSand"))
|
||||
{
|
||||
for(int x = 0; x < 16; x++)
|
||||
{
|
||||
String[] dyes = { "Black", "Red", "Green", "Brown", "Blue",
|
||||
"Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime",
|
||||
"Yellow", "LightBlue", "Magenta", "Orange", "White" };
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.coloredSand, 1, x), new Object[]{"sss", "sds", "sss", 's', Blocks.sand, 'd', "dye" + dyes[x]}));
|
||||
GameRegistry.addSmelting(new ItemStack(ModBlocks.coloredSand, 1, x), new ItemStack(Blocks.stained_glass, 1, x), 0.3F);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
package com.cricketcraft.chisel.block;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockSand;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
import com.cricketcraft.chisel.Chisel;
|
||||
import com.cricketcraft.chisel.api.ICarvable;
|
||||
import com.cricketcraft.chisel.carving.CarvableHelper;
|
||||
import com.cricketcraft.chisel.carving.CarvableVariation;
|
||||
import com.cricketcraft.chisel.init.ModTabs;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockCarvableSand extends BlockSand implements ICarvable {
|
||||
public CarvableHelper carverHelper;
|
||||
private boolean isAlpha;
|
||||
|
||||
public BlockCarvableSand() {
|
||||
super();
|
||||
carverHelper = new CarvableHelper();
|
||||
setCreativeTab(ModTabs.tabOtherChiselBlocks);
|
||||
setHarvestLevel("chisel", 0);
|
||||
}
|
||||
|
||||
public BlockCarvableSand setStained(boolean a) {
|
||||
this.isAlpha = a;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getRenderBlockPass() {
|
||||
return isAlpha ? 1 : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(int side, int metadata) {
|
||||
return carverHelper.getIcon(side, metadata);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
|
||||
return carverHelper.getIcon(world, x, y, z, side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int damageDropped(int i) {
|
||||
return i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister register) {
|
||||
carverHelper.registerBlockIcons("Chisel", this, register);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubBlocks(Item item, CreativeTabs tabs, List list) {
|
||||
carverHelper.registerSubBlocks(this, tabs, list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderType() {
|
||||
return Chisel.RenderCTMId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CarvableVariation getVariation(int metadata) {
|
||||
return carverHelper.getVariation(metadata);
|
||||
}
|
||||
|
||||
|
||||
public static class SoundType extends Block.SoundType {
|
||||
public final String soundNameStep;
|
||||
public final String soundNameBreak;
|
||||
public final String soundNamePlace;
|
||||
|
||||
/**
|
||||
* Creates a SoundType with automatic names for step and break sounds.
|
||||
* Sound names dig.soundName and step.soundName must be specified in the
|
||||
* sounds.json
|
||||
*
|
||||
* @param soundName block of the sound. Will automatically be expanded to
|
||||
* "mod:dig.soundName" and "mod:step.soundName" respectively)
|
||||
* @param volume default 1.0f
|
||||
* @param frequency default 1.0f
|
||||
*/
|
||||
public SoundType(String soundName, float volume, float frequency) {
|
||||
super(soundName, volume, frequency);
|
||||
this.soundNameStep = null;
|
||||
this.soundNameBreak = null;
|
||||
this.soundNamePlace = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a SoundType with manual names for step and break sounds.
|
||||
* Sound names must be specified in the sounds.json
|
||||
*
|
||||
* @param soundNameBreak block break sound
|
||||
* @param soundNameStep block step sound
|
||||
* @param volume default 1.0f
|
||||
* @param frequency default 1.0f
|
||||
*/
|
||||
public SoundType(String soundNameBreak, String soundNameStep, float volume, float frequency) {
|
||||
super(soundNameStep, volume, frequency);
|
||||
this.soundNameStep = soundNameStep;
|
||||
this.soundNameBreak = soundNameBreak;
|
||||
this.soundNamePlace = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a SoundType with manual names for step, break and place
|
||||
* sounds. Sound names must be specified in the sounds.json
|
||||
*
|
||||
* @param soundNameBreak block break sound
|
||||
* @param soundNameStep block step sound
|
||||
* @param soundNamePlace block place sound
|
||||
* @param volume default 1.0f
|
||||
* @param frequency default 1.0f
|
||||
*/
|
||||
public SoundType(String soundNameBreak, String soundNameStep, String soundNamePlace, float volume, float frequency) {
|
||||
super(soundNameStep, volume, frequency);
|
||||
this.soundNameStep = soundNameStep;
|
||||
this.soundNameBreak = soundNameBreak;
|
||||
this.soundNamePlace = soundNamePlace;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBreakSound() {
|
||||
if (soundNameBreak == null)
|
||||
return Chisel.MOD_ID + ":dig." + this.soundName;
|
||||
else
|
||||
return this.soundNameBreak;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStepResourcePath() {
|
||||
if (soundNameStep == null)
|
||||
return Chisel.MOD_ID + ":step." + this.soundName;
|
||||
else
|
||||
return this.soundNameStep;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String func_150496_b() {
|
||||
if (soundNamePlace == null)
|
||||
return getBreakSound();
|
||||
else
|
||||
return this.soundNamePlace;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -97,6 +97,7 @@ public class ModBlocks {
|
||||
public static BlockCarvable OCD;
|
||||
public static BlockCarvable OCD2;
|
||||
public static BlockCarvable bloodRune;
|
||||
public static BlockCarvableSand coloredSand;
|
||||
|
||||
// 1.7
|
||||
public static BlockCarvableGlass[] stainedGlass = new BlockCarvableGlass[4];
|
||||
@@ -1347,6 +1348,17 @@ public class ModBlocks {
|
||||
|
||||
Carving.chisel.registerOre("woolen_clay", "woolen_clay");
|
||||
}
|
||||
if(Configurations.featureEnabled("coloredSand"))
|
||||
{
|
||||
coloredSand = (BlockCarvableSand) new BlockCarvableSand().setCreativeTab(ModTabs.tabOtherChiselBlocks);
|
||||
coloredSand.carverHelper.setChiselBlockName("Colored Sand");
|
||||
|
||||
for(int i = 0; i < 16; i++)
|
||||
coloredSand.carverHelper.addVariation(StatCollector.translateToLocal("tile.coloredSand." + i + ".desc"), i, "coloredSand/" + sGNames[i].replaceAll(" ", "").toLowerCase());
|
||||
coloredSand.carverHelper.register(coloredSand, "colored_sand");
|
||||
|
||||
Carving.chisel.registerOre("colored_sand", "colored_sand");
|
||||
}
|
||||
|
||||
if(Configurations.featureEnabled("laboratory"))
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user