Creative Tab Signature + Matrix Frame

This commit is contained in:
Sebastian Hartte
2020-06-01 14:11:05 +02:00
parent 423aaf0762
commit 17f73f214d
12 changed files with 49 additions and 27 deletions
@@ -22,6 +22,7 @@ package appeng.block.crafting;
import net.minecraft.block.BlockStateContainer;
import net.minecraft.block.BlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Direction;
import net.minecraft.util.NonNullList;
@@ -82,7 +83,7 @@ public class BlockCraftingMonitor extends BlockCraftingUnit
@Override
@OnlyIn( Dist.CLIENT )
public void getSubBlocks( final CreativeTabs tabs, final NonNullList<ItemStack> itemStacks )
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> itemStacks)
{
itemStacks.add( new ItemStack( this, 1, 0 ) );
}
@@ -36,6 +36,7 @@ import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
import net.minecraftforge.common.util.FakePlayer;
@@ -157,9 +158,9 @@ public class BlockCrank extends AEBaseTileBlock
}
@Override
public boolean canPlaceBlockAt( final World world, final BlockPos pos )
public boolean isValidPosition(BlockState state, IWorldReader w, BlockPos pos)
{
return this.findCrankable( world, pos ) != null;
return this.findCrankable( w, pos ) != null;
}
@Override
@@ -35,6 +35,7 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@@ -164,7 +165,7 @@ public class BlockLightDetector extends AEBaseTileBlock implements IOrientableBl
}
@Override
public boolean canPlaceBlockAt( final World w, final BlockPos pos )
public boolean isValidPosition(BlockState state, IWorldReader w, BlockPos pos)
{
for( final Direction dir : Direction.VALUES )
{
@@ -36,6 +36,7 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@@ -180,7 +181,7 @@ public class BlockQuartzFixture extends AEBaseBlock implements IOrientableBlock,
}
@Override
public boolean canPlaceBlockAt( final World w, final BlockPos pos )
public boolean isValidPosition(BlockState state, IWorldReader w, BlockPos pos)
{
for( final Direction dir : Direction.VALUES )
{
@@ -31,6 +31,7 @@ import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
import net.minecraftforge.common.property.ExtendedBlockState;
import net.minecraftforge.common.property.IUnlistedProperty;
@@ -96,7 +97,7 @@ public class BlockSkyCompass extends AEBaseTileBlock implements ICustomCollision
}
@Override
public boolean canPlaceBlockAt( final World w, final BlockPos pos )
public boolean isValidPosition(BlockState state, IWorldReader w, BlockPos pos)
{
for( final Direction dir : Direction.VALUES )
{
@@ -154,9 +154,9 @@ public class BlockTinyTNT extends AEBaseBlock implements ICustomCollision
}
@Override
public void onBlockExploded( final World w, final BlockPos pos, final Explosion exp )
public void onExplosionDestroy( final World w, final BlockPos pos, final Explosion exp )
{
super.onBlockExploded( w, pos, exp );
super.onExplosionDestroy( w, pos, exp );
if( !w.isRemote )
{
final EntityTinyTNTPrimed primedTinyTNTEntity = new EntityTinyTNTPrimed( w, pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F, exp
@@ -428,7 +428,7 @@ public class BlockCableBus extends AEBaseTileBlock implements IAEFacade
@Override
@OnlyIn( Dist.CLIENT )
public void getSubBlocks( final CreativeTabs tabs, final NonNullList<ItemStack> itemStacks )
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> itemStacks)
{
// do nothing
}
@@ -57,7 +57,7 @@ public class BlockEnergyCell extends AEBaseTileBlock
@Override
@OnlyIn( Dist.CLIENT )
public void getSubBlocks( final CreativeTabs tabs, final NonNullList<ItemStack> itemStacks )
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> itemStacks)
{
super.getSubBlocks( tabs, itemStacks );
@@ -94,7 +94,7 @@ public class BlockPaint extends AEBaseTileBlock
@Override
@OnlyIn( Dist.CLIENT )
public void getSubBlocks( final CreativeTabs tabs, final NonNullList<ItemStack> itemStacks )
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> itemStacks)
{
// do nothing
}
@@ -19,19 +19,24 @@
package appeng.block.spatial;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.material.Material;
import net.minecraft.block.BlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.shapes.ISelectionContext;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.shapes.VoxelShapes;
import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@@ -45,24 +50,31 @@ public class BlockMatrixFrame extends AEBaseBlock implements ICustomCollision
public BlockMatrixFrame()
{
super( Material.ANVIL );
this.setResistance( 6000000.0F );
this.setBlockUnbreakable();
this.setLightOpacity( 0 );
this.setOpaque( false );
super( Properties.create(Material.ANVIL).hardnessAndResistance(-1.0F, 6000000.0F).noDrops().notSolid() );
// FIXME this.setLightOpacity( 0 );
// FIXME this.setOpaque( false );
}
@Override
public BlockRenderType getRenderType(BlockState state) {
return BlockRenderType.INVISIBLE;
}
@Override
@OnlyIn( Dist.CLIENT )
public void getSubBlocks( final CreativeTabs tabs, final NonNullList<ItemStack> itemStacks )
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> itemStacks)
{
// do nothing
}
@Override
public Iterable<AxisAlignedBB> getSelectedBoundingBoxesFromPool( final World w, final BlockPos pos, final Entity thePlayer, final boolean b )
{
return Arrays.asList( new AxisAlignedBB[] {} );// AxisAlignedBB.getBoundingBox( 0.25, 0, 0.25, 0.75, 0.5, 0.75 )
public VoxelShape getRaytraceShape(BlockState state, IBlockReader worldIn, BlockPos pos) {
return VoxelShapes.empty();
}
@Override
public Iterable<VoxelShape> getSelectedBoundingBoxesFromPool(IBlockReader w, BlockPos pos, Entity thePlayer, boolean b ) {
return Collections.emptyList();// AxisAlignedBB.getBoundingBox( 0.25, 0, 0.25, 0.75, 0.5, 0.75 )
// } );
}
@@ -73,17 +85,18 @@ public class BlockMatrixFrame extends AEBaseBlock implements ICustomCollision
}
@Override
public boolean canPlaceBlockAt( final World worldIn, final BlockPos pos )
{
public boolean isValidPosition(BlockState state, IWorldReader worldIn, BlockPos pos) {
return false;
}
@Override
public void onBlockExploded( final World world, final BlockPos pos, final Explosion explosion )
public void onExplosionDestroy( final World world, final BlockPos pos, final Explosion explosion )
{
// Don't explode.
}
@Override
public boolean canEntityDestroy( final BlockState state, final IBlockReader world, final BlockPos pos, final Entity entity )
{