Big batch of unfinished items.

This commit is contained in:
Waterpicker 2017-01-21 06:54:20 -06:00
parent aac1108056
commit e027947fb0
14 changed files with 200 additions and 10 deletions

View file

@ -8,6 +8,7 @@ import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.translation.I18n;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.FMLLog;
import net.minecraftforge.fml.common.Mod;
@ -16,6 +17,8 @@ import net.minecraftforge.fml.common.event.*;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
@Mod(modid = DimDoors.MODID, name = "Dimensional Doors", version = DimDoors.VERSION)
public class DimDoors {
@ -75,4 +78,14 @@ public class DimDoors {
public static void log(Class classFiredFrom, String text) {
FMLLog.info("[DimDoors] " + text + " (" + classFiredFrom.toString() + " )", 0);
}
public static void translateAndAdd(String key, List<String> list) {
for (int i = 0; i < 10; i++) {
if(I18n.canTranslate(key+Integer.toString(i))) {
String line = I18n.translateToLocal(key + Integer.toString(i));
list.add(line);
} else
break;
}
}
}

View file

@ -9,6 +9,8 @@ import net.minecraft.init.Items;
import net.minecraft.item.ItemDoor;
import net.minecraft.item.ItemStack;
import static com.zixiken.dimdoors.DimDoors.translateAndAdd;
public class ItemDimDoor extends ItemDoorBase {
public static final String ID = "itemDimDoor";

View file

@ -7,6 +7,8 @@ import com.zixiken.dimdoors.blocks.ModBlocks;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import static com.zixiken.dimdoors.DimDoors.translateAndAdd;
public class ItemDimDoorGold extends ItemDoorBase {
public static final String ID = "itemDimDoorGold";

View file

@ -7,6 +7,8 @@ import com.zixiken.dimdoors.blocks.ModBlocks;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import static com.zixiken.dimdoors.DimDoors.translateAndAdd;
public class ItemDimDoorPersonal extends ItemDoorBase {
public static final String ID = "itemDimDoorQuartz";

View file

@ -6,6 +6,7 @@ import com.zixiken.dimdoors.blocks.BlockDimDoorBase;
import com.zixiken.dimdoors.blocks.ModBlocks;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.text.translation.I18n;
public class ItemDimDoorUnstable extends ItemDoorBase {
@ -19,7 +20,7 @@ public class ItemDimDoorUnstable extends ItemDoorBase {
@Override
public void addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced) {
//tooltip.add(StatCollector.translateToLocal("info.chaosDoor"));
tooltip.add(I18n.translateToLocal("info.chaosDoor"));
}
@Override

View file

@ -10,6 +10,8 @@ import net.minecraft.init.Items;
import net.minecraft.item.ItemDoor;
import net.minecraft.item.ItemStack;
import static com.zixiken.dimdoors.DimDoors.translateAndAdd;
public class ItemDimDoorWarp extends ItemDoorBase {
public static final String ID = "itemDimDoorWarp";

View file

@ -21,6 +21,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.translation.I18n;
import net.minecraft.world.World;
import net.minecraft.block.SoundType;
import static net.minecraft.item.ItemDoor.placeDoor;
@ -170,13 +171,4 @@ public abstract class ItemDoorBase extends ItemDoor {
Vec3d vec31 = vec3.addVector((double) f6 * d3, (double) f5 * d3, (double) f7 * d3);
return world.rayTraceBlocks(vec3, vec31, useLiquids, !useLiquids, false);
}
public void translateAndAdd(String key, List<String> list) {
for (int i = 0; i < 10; i++) {
/*if(StatCollector.canTranslate(key+Integer.toString(i))) {
String line = StatCollector.translateToLocal(key + Integer.toString(i));
list.add(line);
} else */ break;
}
}
}

View file

@ -0,0 +1,38 @@
package com.zixiken.dimdoors.items;
import com.flowpowered.math.vector.Vector3d;
import com.zixiken.dimdoors.DimDoors;
import com.zixiken.dimdoors.blocks.ModBlocks;
import com.zixiken.dimdoors.tileentities.TileEntityRift;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.*;
import net.minecraft.util.math.*;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
import static com.zixiken.dimdoors.DimDoors.translateAndAdd;
public class ItemLinkSignature extends Item {
public static final String ID = "itemLinkSignature";
public ItemLinkSignature() {
super();
setCreativeTab(DimDoors.dimDoorsCreativeTab);
setUnlocalizedName(ID);
setRegistryName(ID);
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List<String> list, boolean advanced) {
translateAndAdd("info.riftSignature.unbound", list);
}
}

View file

@ -1,7 +1,24 @@
package com.zixiken.dimdoors.items;
import com.zixiken.dimdoors.DimDoors;
import com.zixiken.dimdoors.blocks.ModBlocks;
import com.zixiken.dimdoors.tileentities.TileEntityRift;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.*;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import java.util.List;
/**
* Created by Jared Johnson on 1/20/2017.
@ -15,4 +32,99 @@ public class ItemRiftBlade extends ItemSword {
setUnlocalizedName(ID);
setRegistryName(ID);
}
@Override
@SideOnly(Side.CLIENT)
public boolean hasEffect(ItemStack par1ItemStack) {
return true;
}
private boolean teleportToEntity(ItemStack item, Entity par1Entity, EntityPlayer holder) {
Vec3d var2 = new Vec3d(holder.posX - par1Entity.posX, holder.getEntityBoundingBox().minY + holder.height / 2.0F - par1Entity.posY + par1Entity.getEyeHeight(), holder.posZ - par1Entity.posZ);
double cooef =( var2.lengthVector()-2.5)/var2.lengthVector();
var2.scale(cooef);
double var5 = holder.posX - var2.xCoord;
double var9 = holder.posZ - var2.zCoord;
double var7 = MathHelper.floor(holder.posY - var2.yCoord) ;
int var14 = MathHelper.floor(var5);
int var15 = MathHelper.floor(var7);
int var16 = MathHelper.floor(var9);
while(!holder.world.isAirBlock(new BlockPos(var14, var15, var16))) {
var15++;
}
var7=var15;
holder.setPositionAndUpdate(var5, var7, var9);
return true;
}
@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
if (!world.isRemote) {
@SuppressWarnings("unchecked")
List<EntityLiving> list = world.getEntitiesWithinAABB(EntityLiving.class, new AxisAlignedBB(player.posX-10,player.posY-10, player.posZ-10, player.posX+10,player.posY+10, player.posZ+10));
list.remove(player);
for (EntityLiving ent : list) {
Vec3d var3 = player.getLook(1.0F).normalize();
Vec3d var4 = new Vec3d(ent.posX - player.posX, ent.getEntityBoundingBox().minY + (ent.height) / 2.0F - ( player.posY + player.getEyeHeight()), ent.posZ - player.posZ);
double var5 = var4.lengthVector();
var4 = var4.normalize();
double var7 = var3.dotProduct(var4);
if( (var7+.1) > 1.0D - 0.025D / var5 ? player.canEntityBeSeen(ent) : false) {
teleportToEntity(stack, ent, player);
stack.damageItem(3, player);
return ActionResult.newResult(EnumActionResult.PASS, stack);
}
}
RayTraceResult hit = this.rayTrace(world, player, false);
if (hit != null) {
BlockPos pos = hit.getBlockPos();
TileEntity tile = world.getTileEntity(pos);
if (tile != null && tile instanceof TileEntityRift) {
if (((TileEntityRift) tile).isPaired()) {
if (player.canPlayerEdit(pos, hit.sideHit, stack) && player.canPlayerEdit(pos.offset(EnumFacing.UP), hit.sideHit, stack))
{
EnumFacing orientation = EnumFacing.fromAngle(player.rotationYaw).getOpposite();
if (ItemDoorBase.canPlace(world, pos) && ItemDoorBase.canPlace(world, pos.offset(EnumFacing.DOWN))) {
ItemDimDoor.placeDoor(world, pos.offset(EnumFacing.DOWN), orientation, ModBlocks.blockDimDoorTransient, true);
stack.damageItem(3, player);
return ActionResult.newResult(EnumActionResult.PASS, stack);
}
}
}
}
}
}
return ActionResult.newResult(EnumActionResult.PASS, stack);
}
/**
* Return whether this item is repairable in an anvil.
*/
@Override
public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)
{
//Don't include a call to super.getIsRepairable()!
//That would cause this sword to accept diamonds as a repair material (since we set material = Diamond).
return ModItems.itemStableFabric == par2ItemStack.getItem() ? true : false;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List<String> list, boolean advanced) {
DimDoors.translateAndAdd("info.riftblade", list);
}
}

View file

@ -0,0 +1,4 @@
package com.zixiken.dimdoors.items;
public class ItemRiftRemover {
}

View file

@ -0,0 +1,4 @@
package com.zixiken.dimdoors.items;
public class ItemStablizedRiftSig {
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "dimdoors:items/itemLinkSignature"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "dimdoors:items/itemRiftRemover"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "dimdoors:items/itemStablizedRiftSig"
}
}