1.15 port

This commit is contained in:
yueh
2020-05-18 14:02:45 +02:00
parent 0ea86c939c
commit 16d6d55d7f
630 changed files with 4211 additions and 12664 deletions
@@ -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();
}
+6 -6
View File
@@ -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 );
}
+6 -6
View File
@@ -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();
}