Major Refactoring of Bootstrap Code (#75)

- Refactored boostrap code:
  * Completely reworked item/block/tile registration.
  * Fixed server side startup.
  * Fixed server side startup.
  * More documentation.
  * More heavy cleanup
  * More cleanups.
  * Major refactoring of state mapping and fixes a lot of other issue related to item rendering.
  * Fixes sky chest item models (no item TESR).
  * Only use CachingRotatingBakedModel for tile entities automatically.
  Fix default rotation of quartz pillar for item model.
  * Used method reference instead of lambda for ItemMeshDefinition for multiparts.
  * Removed unnecessary IHasSpecialItemModel
  * Removed unused IconReg class.
  * Updated resource pack version.
This commit is contained in:
shartte
2016-08-22 14:25:10 +02:00
committed by Sebastian Hartte
parent 66df324ef0
commit 6f2bbfab4c
172 changed files with 2289 additions and 2863 deletions
@@ -19,41 +19,21 @@
package appeng.items.tools.quartz;
import java.util.EnumSet;
import com.google.common.base.Optional;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.ItemStack;
import appeng.core.features.AEFeature;
import appeng.core.features.IAEFeature;
import appeng.core.features.IFeatureHandler;
import appeng.core.features.ItemFeatureHandler;
import appeng.util.Platform;
public class ToolQuartzAxe extends ItemAxe implements IAEFeature
public class ToolQuartzAxe extends ItemAxe
{
private final AEFeature type;
private final IFeatureHandler feature;
public ToolQuartzAxe( final AEFeature type )
{
super( ToolMaterial.IRON );
this.feature = new ItemFeatureHandler( EnumSet.of( this.type = type, AEFeature.QuartzAxe ), this, this, Optional.of( type.name() ) );
}
@Override
public IFeatureHandler handler()
{
return this.feature;
}
@Override
public void postInit()
{
// override!
this.type = type;
}
@Override
@@ -19,10 +19,6 @@
package appeng.items.tools.quartz;
import java.util.EnumSet;
import com.google.common.base.Optional;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
@@ -48,10 +44,7 @@ public class ToolQuartzCuttingKnife extends AEBaseItem implements IGuiItem
public ToolQuartzCuttingKnife( final AEFeature type )
{
super( Optional.of( type.name() ) );
this.type = type;
this.setFeature( EnumSet.of( type, AEFeature.QuartzKnife ) );
this.setMaxDamage( 50 );
this.setMaxStackSize( 1 );
}
@@ -19,48 +19,27 @@
package appeng.items.tools.quartz;
import java.util.EnumSet;
import com.google.common.base.Optional;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemStack;
import appeng.core.features.AEFeature;
import appeng.core.features.IAEFeature;
import appeng.core.features.IFeatureHandler;
import appeng.core.features.ItemFeatureHandler;
import appeng.util.Platform;
public class ToolQuartzHoe extends ItemHoe implements IAEFeature
public class ToolQuartzHoe extends ItemHoe
{
private final AEFeature feature;
private final IFeatureHandler handler;
private final AEFeature type;
public ToolQuartzHoe( final AEFeature feature )
public ToolQuartzHoe( final AEFeature type )
{
super( ToolMaterial.IRON );
this.feature = feature;
this.handler = new ItemFeatureHandler( EnumSet.of( feature, AEFeature.QuartzHoe ), this, this, Optional.of( feature.name() ) );
}
@Override
public IFeatureHandler handler()
{
return this.handler;
}
@Override
public void postInit()
{
// override!
this.type = type;
}
@Override
public boolean getIsRepairable( final ItemStack a, final ItemStack b )
{
return Platform.canRepair( this.feature, a, b );
return Platform.canRepair( this.type, a, b );
}
}
@@ -19,43 +19,21 @@
package appeng.items.tools.quartz;
import java.util.EnumSet;
import com.google.common.base.Optional;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import appeng.core.features.AEFeature;
import appeng.core.features.IAEFeature;
import appeng.core.features.IFeatureHandler;
import appeng.core.features.ItemFeatureHandler;
import appeng.util.Platform;
public class ToolQuartzPickaxe extends ItemPickaxe implements IAEFeature
public class ToolQuartzPickaxe extends ItemPickaxe
{
private final AEFeature type;
private final IFeatureHandler feature;
public ToolQuartzPickaxe( final AEFeature type )
{
super( ToolMaterial.IRON );
this.type = type;
this.feature = new ItemFeatureHandler( EnumSet.of( type, AEFeature.QuartzPickaxe ), this, this, Optional.of( type.name() ) );
}
@Override
public IFeatureHandler handler()
{
return this.feature;
}
@Override
public void postInit()
{
// override!
}
@Override
@@ -19,42 +19,21 @@
package appeng.items.tools.quartz;
import java.util.EnumSet;
import com.google.common.base.Optional;
import net.minecraft.item.ItemSpade;
import net.minecraft.item.ItemStack;
import appeng.core.features.AEFeature;
import appeng.core.features.IAEFeature;
import appeng.core.features.IFeatureHandler;
import appeng.core.features.ItemFeatureHandler;
import appeng.util.Platform;
public class ToolQuartzSpade extends ItemSpade implements IAEFeature
public class ToolQuartzSpade extends ItemSpade
{
private final AEFeature type;
private final IFeatureHandler handler;
public ToolQuartzSpade( final AEFeature type )
{
super( ToolMaterial.IRON );
this.handler = new ItemFeatureHandler( EnumSet.of( this.type = type, AEFeature.QuartzSpade ), this, this, Optional.of( type.name() ) );
}
@Override
public IFeatureHandler handler()
{
return this.handler;
}
@Override
public void postInit()
{
// override!
this.type = type;
}
@Override
@@ -19,41 +19,21 @@
package appeng.items.tools.quartz;
import java.util.EnumSet;
import com.google.common.base.Optional;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import appeng.core.features.AEFeature;
import appeng.core.features.IAEFeature;
import appeng.core.features.IFeatureHandler;
import appeng.core.features.ItemFeatureHandler;
import appeng.util.Platform;
public class ToolQuartzSword extends ItemSword implements IAEFeature
public class ToolQuartzSword extends ItemSword
{
private final AEFeature type;
private final IFeatureHandler feature;
public ToolQuartzSword( final AEFeature type )
public ToolQuartzSword( AEFeature type )
{
super( ToolMaterial.IRON );
this.feature = new ItemFeatureHandler( EnumSet.of( this.type = type, AEFeature.QuartzSword ), this, this, Optional.of( type.name() ) );
}
@Override
public IFeatureHandler handler()
{
return this.feature;
}
@Override
public void postInit()
{
// override!
this.type = type;
}
@Override
@@ -19,10 +19,6 @@
package appeng.items.tools.quartz;
import java.util.EnumSet;
import com.google.common.base.Optional;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
@@ -35,7 +31,6 @@ import net.minecraft.world.World;
import appeng.api.implementations.items.IAEWrench;
import appeng.api.util.DimensionalCoord;
import appeng.core.features.AEFeature;
import appeng.items.AEBaseItem;
import appeng.util.Platform;
@@ -45,11 +40,8 @@ import appeng.util.Platform;
public class ToolQuartzWrench extends AEBaseItem implements IAEWrench /* , IToolWrench */
{
public ToolQuartzWrench( final AEFeature type )
public ToolQuartzWrench()
{
super( Optional.of( type.name() ) );
this.setFeature( EnumSet.of( type, AEFeature.QuartzWrench ) );
this.setMaxStackSize( 1 );
this.setHarvestLevel( "wrench", 0 );
}