Started working on new materials
+ iron nuggets + copper ore
This commit is contained in:
parent
04b59c76e0
commit
c9c0a6e31e
13 changed files with 262 additions and 6 deletions
16
TODO.txt
16
TODO.txt
|
@ -3,14 +3,18 @@ Part ASM? Description
|
||||||
deco No Armchairs
|
deco No Armchairs
|
||||||
deco No Thrones
|
deco No Thrones
|
||||||
-------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------
|
||||||
plants No Tomatoes
|
plants No? Tomatoes
|
||||||
plants No Turnips
|
plants No? Turnips
|
||||||
plants No Cabbages
|
plants No? Cabbages
|
||||||
plants No Zucchinis
|
plants No? Zucchinis
|
||||||
plants No Sweet pepper
|
plants No? Sweet pepper
|
||||||
plants No Eggplant
|
plants No? Eggplant
|
||||||
|
plants No? Strawberries
|
||||||
-------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------
|
||||||
ores ??? Rock salt
|
ores ??? Rock salt
|
||||||
|
ores ??? Native copper (copper)
|
||||||
|
ores ??? Malachite (copper)
|
||||||
|
ores ??? Cuprite (copper)
|
||||||
-------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------
|
||||||
animals ??? Goats
|
animals ??? Goats
|
||||||
-------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------
|
||||||
|
|
BIN
ore.xcf
Normal file
BIN
ore.xcf
Normal file
Binary file not shown.
155
src/java/mmm/materials/DOre.java
Normal file
155
src/java/mmm/materials/DOre.java
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
package mmm.materials;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
|
import mmm.utils.URegistry;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.SoundType;
|
||||||
|
import net.minecraft.block.material.MapColor;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class DOre
|
||||||
|
extends Block
|
||||||
|
{
|
||||||
|
private int dropMin , dropMax;
|
||||||
|
private Item dropItems;
|
||||||
|
private int dropMeta;
|
||||||
|
|
||||||
|
private int expMin , expMax;
|
||||||
|
|
||||||
|
|
||||||
|
public DOre( final String name , final int harvestLevel )
|
||||||
|
{
|
||||||
|
this( name , harvestLevel , Material.ROCK.getMaterialMapColor( ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DOre( final String name , final int harvestLevel , final MapColor color )
|
||||||
|
{
|
||||||
|
super( Material.ROCK , color );
|
||||||
|
this.setCreativeTab( CreativeTabs.BUILDING_BLOCKS );
|
||||||
|
this.setSoundType( SoundType.STONE );
|
||||||
|
this.setHardness( 3.0f );
|
||||||
|
this.setResistance( 5.0f );
|
||||||
|
this.setHarvestLevel( "pickaxe" , harvestLevel );
|
||||||
|
URegistry.setIdentifiers( this , "materials" , "ores" , name );
|
||||||
|
this.dropMin = this.dropMax = 1;
|
||||||
|
this.expMin = this.expMax = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DOre setDrops( final Item item )
|
||||||
|
{
|
||||||
|
return this.setDrops( item , 0 , 1 , 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DOre setDrops( final Item item , final int meta )
|
||||||
|
{
|
||||||
|
return this.setDrops( item , meta , 1 , 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DOre setDrops( final Item item , final int dropMin , final int dropMax )
|
||||||
|
{
|
||||||
|
return this.setDrops( item , 0 , dropMin , dropMax );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DOre setDrops( final Item item , final int meta , final int dropMin , final int dropMax )
|
||||||
|
{
|
||||||
|
assert dropMin <= dropMax;
|
||||||
|
assert dropMin > 0;
|
||||||
|
this.dropMin = dropMin;
|
||||||
|
this.dropMax = dropMax;
|
||||||
|
this.dropItems = item;
|
||||||
|
this.dropMeta = meta;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DOre setExperience( final int value )
|
||||||
|
{
|
||||||
|
return this.setExperience( value , value );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DOre setExperience( final int min , final int max )
|
||||||
|
{
|
||||||
|
assert min <= max;
|
||||||
|
assert min >= 0;
|
||||||
|
this.expMin = min;
|
||||||
|
this.expMax = max;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public Item getItemDropped( final IBlockState state , final Random rand , final int fortune )
|
||||||
|
{
|
||||||
|
return this.dropItems == null ? Item.getItemFromBlock( this ) : this.dropItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int damageDropped( final IBlockState state )
|
||||||
|
{
|
||||||
|
return this.dropItems == null ? 0 : this.dropMeta;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int quantityDropped( final Random random )
|
||||||
|
{
|
||||||
|
if ( this.dropMax == this.dropMin ) {
|
||||||
|
return this.dropMin;
|
||||||
|
}
|
||||||
|
return this.dropMin + random.nextInt( 1 + this.dropMax - this.dropMin );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int quantityDroppedWithBonus( final int fortune , final Random random )
|
||||||
|
{
|
||||||
|
int dropped = this.quantityDropped( random );
|
||||||
|
if ( fortune > 0 && this.dropItems != null ) {
|
||||||
|
dropped += Math.max( 0 , random.nextInt( fortune + 2 ) - 1 );
|
||||||
|
}
|
||||||
|
return dropped;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getExpDrop( final IBlockState state , final IBlockAccess world , final BlockPos pos , final int fortune )
|
||||||
|
{
|
||||||
|
final Random rand = world instanceof World ? ( (World) world ).rand : Block.RANDOM;
|
||||||
|
if ( this.dropItems != null ) {
|
||||||
|
if ( this.expMin == this.expMax ) {
|
||||||
|
return this.expMin;
|
||||||
|
}
|
||||||
|
return MathHelper.getRandomIntegerInRange( rand , this.expMin , this.expMax );
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack getItem( final World worldIn , final BlockPos pos , final IBlockState state )
|
||||||
|
{
|
||||||
|
return new ItemStack( this );
|
||||||
|
}
|
||||||
|
}
|
21
src/java/mmm/materials/MItem.java
Normal file
21
src/java/mmm/materials/MItem.java
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
package mmm.materials;
|
||||||
|
|
||||||
|
|
||||||
|
import mmm.utils.URegistry;
|
||||||
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class MItem
|
||||||
|
extends Item
|
||||||
|
{
|
||||||
|
|
||||||
|
public MItem( String name )
|
||||||
|
{
|
||||||
|
super( );
|
||||||
|
this.setCreativeTab( CreativeTabs.MATERIALS );
|
||||||
|
URegistry.setIdentifiers( this , "materials" , name );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
48
src/java/mmm/materials/Materials.java
Normal file
48
src/java/mmm/materials/Materials.java
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
package mmm.materials;
|
||||||
|
|
||||||
|
|
||||||
|
import mmm.utils.I_URecipeRegistrar;
|
||||||
|
import mmm.utils.URegistry;
|
||||||
|
import net.minecraft.init.Items;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class Materials
|
||||||
|
implements I_URecipeRegistrar
|
||||||
|
{
|
||||||
|
public static final DOre ORE_COPPER;
|
||||||
|
|
||||||
|
public static final MItem NUGGET_IRON;
|
||||||
|
|
||||||
|
static {
|
||||||
|
URegistry.addBlock( ORE_COPPER = new DOre( "copper" , 1 ) );
|
||||||
|
|
||||||
|
URegistry.addItem( NUGGET_IRON = new MItem( "iron_nugget" ) );
|
||||||
|
|
||||||
|
URegistry.addRecipeRegistrar( new Materials( ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void preInit( )
|
||||||
|
{
|
||||||
|
// EMPTY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Materials( )
|
||||||
|
{
|
||||||
|
// EMPTY
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerRecipes( )
|
||||||
|
{
|
||||||
|
GameRegistry.addShapelessRecipe( new ItemStack( Materials.NUGGET_IRON , 9 ) , Items.IRON_INGOT );
|
||||||
|
GameRegistry.addRecipe( new ItemStack( Items.IRON_INGOT ) , //
|
||||||
|
"NNN" , "NNN" , "NNN" , //
|
||||||
|
'N' , Materials.NUGGET_IRON );
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package mmm.proxy;
|
||||||
|
|
||||||
import mmm.Mmm;
|
import mmm.Mmm;
|
||||||
import mmm.deco.DecorativeBlocks;
|
import mmm.deco.DecorativeBlocks;
|
||||||
|
import mmm.materials.Materials;
|
||||||
import mmm.utils.UAccessors;
|
import mmm.utils.UAccessors;
|
||||||
import mmm.utils.URegistry;
|
import mmm.utils.URegistry;
|
||||||
import mmm.utils.USeat;
|
import mmm.utils.USeat;
|
||||||
|
@ -19,6 +20,8 @@ public abstract class PCommon
|
||||||
UAccessors.preInit( );
|
UAccessors.preInit( );
|
||||||
|
|
||||||
DecorativeBlocks.preInit( );
|
DecorativeBlocks.preInit( );
|
||||||
|
Materials.preInit( );
|
||||||
|
|
||||||
URegistry.registerRecipes( );
|
URegistry.registerRecipes( );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"normal": { "model": "mmm:materials/ores/copper" }
|
||||||
|
}
|
||||||
|
}
|
|
@ -19,3 +19,8 @@ tile.mmm.deco.chair.spruce.name=Spruce Chair
|
||||||
tile.mmm.deco.chair.acacia.name=Acacia Chair
|
tile.mmm.deco.chair.acacia.name=Acacia Chair
|
||||||
tile.mmm.deco.chair.jungle.name=Jungle Wood Chair
|
tile.mmm.deco.chair.jungle.name=Jungle Wood Chair
|
||||||
tile.mmm.deco.chair.dark_oak.name=Dark Oak Chair
|
tile.mmm.deco.chair.dark_oak.name=Dark Oak Chair
|
||||||
|
|
||||||
|
|
||||||
|
tile.mmm.materials.ores.copper.name=Native Copper
|
||||||
|
|
||||||
|
item.mmm.materials.iron_nugget.name=Iron Nugget
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"all": "mmm:blocks/materials/ores/copper"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "mmm:items/materials/iron_nugget"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "mmm:block/materials/ores/copper"
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 294 B |
Binary file not shown.
After Width: | Height: | Size: 134 B |
Reference in a new issue