1.15 port
This commit is contained in:
@@ -19,29 +19,29 @@
|
||||
package appeng.hooks;
|
||||
|
||||
|
||||
import net.minecraft.block.BlockDispenser;
|
||||
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
|
||||
import net.minecraft.block.DispenserBlock;
|
||||
import net.minecraft.dispenser.DefaultDispenseItemBehavior;
|
||||
import net.minecraft.dispenser.IBlockSource;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import appeng.entity.EntityTinyTNTPrimed;
|
||||
|
||||
|
||||
public final class DispenserBehaviorTinyTNT extends BehaviorDefaultDispenseItem
|
||||
public final class DispenserBehaviorTinyTNT extends DefaultDispenseItemBehavior
|
||||
{
|
||||
|
||||
@Override
|
||||
protected ItemStack dispenseStack( final IBlockSource dispenser, final ItemStack dispensedItem )
|
||||
{
|
||||
final EnumFacing enumfacing = dispenser.getBlockState().getValue( BlockDispenser.FACING );
|
||||
final Direction Direction = dispenser.getBlockState().get( DispenserBlock.FACING );
|
||||
final World world = dispenser.getWorld();
|
||||
final int i = dispenser.getBlockPos().getX() + enumfacing.getFrontOffsetX();
|
||||
final int j = dispenser.getBlockPos().getY() + enumfacing.getFrontOffsetY();
|
||||
final int k = dispenser.getBlockPos().getZ() + enumfacing.getFrontOffsetZ();
|
||||
final int i = dispenser.getBlockPos().getX() + Direction.getXOffset();
|
||||
final int j = dispenser.getBlockPos().getY() + Direction.getYOffset();
|
||||
final int k = dispenser.getBlockPos().getZ() + Direction.getZOffset();
|
||||
final EntityTinyTNTPrimed primedTinyTNTEntity = new EntityTinyTNTPrimed( world, i + 0.5F, j + 0.5F, k + 0.5F, null );
|
||||
world.spawnEntity( primedTinyTNTEntity );
|
||||
world.addEntity( primedTinyTNTEntity );
|
||||
dispensedItem.setCount( dispensedItem.getCount() - 1 );
|
||||
return dispensedItem;
|
||||
}
|
||||
|
||||
@@ -19,20 +19,20 @@
|
||||
package appeng.hooks;
|
||||
|
||||
|
||||
import net.minecraft.block.BlockDispenser;
|
||||
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
|
||||
import net.minecraft.block.DispenserBlock;
|
||||
import net.minecraft.dispenser.DefaultDispenseItemBehavior;
|
||||
import net.minecraft.dispenser.IBlockSource;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldServer;
|
||||
import net.minecraft.world.server.ServerWorld;
|
||||
|
||||
import appeng.util.Platform;
|
||||
|
||||
|
||||
public final class DispenserBlockTool extends BehaviorDefaultDispenseItem
|
||||
public final class DispenserBlockTool extends DefaultDispenseItemBehavior
|
||||
{
|
||||
|
||||
@Override
|
||||
@@ -41,14 +41,14 @@ public final class DispenserBlockTool extends BehaviorDefaultDispenseItem
|
||||
final Item i = dispensedItem.getItem();
|
||||
if( i instanceof IBlockTool )
|
||||
{
|
||||
final EnumFacing enumfacing = dispenser.getBlockState().getValue( BlockDispenser.FACING );
|
||||
final Direction Direction = dispenser.getBlockState().get( DispenserBlock.FACING );
|
||||
final IBlockTool tm = (IBlockTool) i;
|
||||
|
||||
final World w = dispenser.getWorld();
|
||||
if( w instanceof WorldServer )
|
||||
if( w instanceof ServerWorld )
|
||||
{
|
||||
tm.onItemUse( dispensedItem, Platform.getPlayer( (WorldServer) w ), w, dispenser.getBlockPos().offset( enumfacing ), EnumHand.MAIN_HAND,
|
||||
enumfacing, 0.5f, 0.5f, 0.5f );
|
||||
tm.onItemUse( dispensedItem, Platform.getPlayer( (ServerWorld) w ), w, dispenser.getBlockPos().offset( Direction ), Hand.MAIN_HAND,
|
||||
Direction, 0.5f, 0.5f, 0.5f );
|
||||
}
|
||||
}
|
||||
return dispensedItem;
|
||||
|
||||
@@ -19,22 +19,22 @@
|
||||
package appeng.hooks;
|
||||
|
||||
|
||||
import net.minecraft.block.BlockDispenser;
|
||||
import net.minecraft.dispenser.BehaviorDefaultDispenseItem;
|
||||
import net.minecraft.block.DispenserBlock;
|
||||
import net.minecraft.dispenser.DefaultDispenseItemBehavior;
|
||||
import net.minecraft.dispenser.IBlockSource;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldServer;
|
||||
import net.minecraft.world.server.ServerWorld;
|
||||
|
||||
import appeng.api.util.AEPartLocation;
|
||||
import appeng.items.tools.powered.ToolMatterCannon;
|
||||
import appeng.util.Platform;
|
||||
|
||||
|
||||
public final class DispenserMatterCannon extends BehaviorDefaultDispenseItem
|
||||
public final class DispenserMatterCannon extends DefaultDispenseItemBehavior
|
||||
{
|
||||
|
||||
@Override
|
||||
@@ -43,11 +43,11 @@ public final class DispenserMatterCannon extends BehaviorDefaultDispenseItem
|
||||
final Item i = dispensedItem.getItem();
|
||||
if( i instanceof ToolMatterCannon )
|
||||
{
|
||||
final EnumFacing enumfacing = dispenser.getBlockState().getValue( BlockDispenser.FACING );
|
||||
final Direction Direction = dispenser.getBlockState().get( DispenserBlock.FACING );
|
||||
AEPartLocation dir = AEPartLocation.INTERNAL;
|
||||
for( final AEPartLocation d : AEPartLocation.SIDE_LOCATIONS )
|
||||
{
|
||||
if( enumfacing.getFrontOffsetX() == d.xOffset && enumfacing.getFrontOffsetY() == d.yOffset && enumfacing.getFrontOffsetZ() == d.zOffset )
|
||||
if( Direction.getXOffset() == d.xOffset && Direction.getYOffset() == d.yOffset && Direction.getZOffset() == d.zOffset )
|
||||
{
|
||||
dir = d;
|
||||
}
|
||||
@@ -56,14 +56,12 @@ public final class DispenserMatterCannon extends BehaviorDefaultDispenseItem
|
||||
final ToolMatterCannon tm = (ToolMatterCannon) i;
|
||||
|
||||
final World w = dispenser.getWorld();
|
||||
if( w instanceof WorldServer )
|
||||
if( w instanceof ServerWorld )
|
||||
{
|
||||
final EntityPlayer p = Platform.getPlayer( (WorldServer) w );
|
||||
final PlayerEntity p = Platform.getPlayer( (ServerWorld) w );
|
||||
Platform.configurePlayer( p, dir, dispenser.getBlockTileEntity() );
|
||||
|
||||
p.posX += dir.xOffset;
|
||||
p.posY += dir.yOffset;
|
||||
p.posZ += dir.zOffset;
|
||||
p.setPosition( p.getPosX() + dir.xOffset, p.getPosY() + dir.yOffset, p.getPosZ() + dir.zOffset );
|
||||
|
||||
dispensedItem = tm.onItemRightClick( w, p, null ).getResult();
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
package appeng.hooks;
|
||||
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@@ -31,8 +31,8 @@ import net.minecraft.world.World;
|
||||
public interface IBlockTool
|
||||
{
|
||||
// Workaround for dispenser logic.
|
||||
EnumActionResult onItemUse( ItemStack is, EntityPlayer p, World w, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ );
|
||||
ActionResult onItemUse( ItemStack is, PlayerEntity p, World w, BlockPos pos, Hand hand, Direction side, float hitX, float hitY, float hitZ );
|
||||
|
||||
EnumActionResult onItemUse( EntityPlayer p, World w, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ );
|
||||
ActionResult onItemUse( PlayerEntity p, World w, BlockPos pos, Hand hand, Direction side, float hitX, float hitY, float hitZ );
|
||||
|
||||
}
|
||||
|
||||
@@ -36,12 +36,12 @@ import com.google.common.collect.LinkedListMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.event.TickEvent.Phase;
|
||||
import net.minecraftforge.event.TickEvent.Type;
|
||||
import net.minecraftforge.event.TickEvent.WorldTickEvent;
|
||||
import net.minecraftforge.event.world.WorldEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent.Phase;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent.Type;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent.WorldTickEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.networking.IGridNode;
|
||||
@@ -215,7 +215,7 @@ public class TickHandler
|
||||
while( !repo.tiles.isEmpty() )
|
||||
{
|
||||
final AEBaseTile bt = repo.tiles.poll();
|
||||
if( !bt.isInvalid() )
|
||||
if( !bt.isRemoved() )
|
||||
{
|
||||
bt.onReady();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user