Merge remote-tracking branch 'origin/MC1.7' into MC1.10

This commit is contained in:
Unknown 2018-05-22 12:24:03 -04:00
commit 9c0eb962c2
13 changed files with 169 additions and 4 deletions

View file

@ -375,6 +375,12 @@ public class WarpDrive {
itemForceFieldShape = new ItemForceFieldShape("itemForceFieldShape");
itemForceFieldUpgrade = new ItemForceFieldUpgrade("itemForceFieldUpgrade");
itemForceFieldShape = new ItemForceFieldShape();
GameRegistry.registerItem(itemForceFieldShape, "itemForceFieldShape");
itemForceFieldUpgrade = new ItemForceFieldUpgrade();
GameRegistry.registerItem(itemForceFieldUpgrade, "itemForceFieldUpgrade");
// hull blocks
blockHulls_plain = new Block[3][EnumHullPlainType.length];
blockHulls_glass = new Block[3];

View file

@ -57,6 +57,25 @@ public class TileEntityForceField extends TileEntityAbstractBase {
cache_colorMultiplierCamouflage = 0;
cache_lightCamouflage = 0;
}
} else if (tagCompound.hasKey("camouflageBlock")) {// legacy up to 1.7.10-1.3.38
try {
cache_blockCamouflage = Block.getBlockFromName(tagCompound.getString("camouflageBlock"));
cache_metadataCamouflage = tagCompound.getByte("camouflageMeta");
cache_colorMultiplierCamouflage = tagCompound.getInteger("camouflageColorMultiplier");
cache_lightCamouflage = tagCompound.getByte("camouflageLight");
if (Dictionary.BLOCKS_NOCAMOUFLAGE.contains(cache_blockCamouflage)) {
cache_blockCamouflage = null;
cache_metadataCamouflage = 0;
cache_colorMultiplierCamouflage = 0;
cache_lightCamouflage = 0;
}
} catch (final Exception exception) {
exception.printStackTrace();
cache_blockCamouflage = null;
cache_metadataCamouflage = 0;
cache_colorMultiplierCamouflage = 0;
cache_lightCamouflage = 0;
}
} else {
cache_blockStateCamouflage = null;
cache_colorMultiplierCamouflage = 0;

View file

@ -815,6 +815,20 @@ public class TileEntityForceFieldProjector extends TileEntityAbstractForceField
}
}
}
if (isCalculated()) {
for (final VectorI vector : calculated_forceField) {
final Block block = vector.getBlock(worldObj);
if (block == WarpDrive.blockForceFields[tier - 1]) {
final TileEntity tileEntity = worldObj.getTileEntity(vector.x, vector.y, vector.z);
if ( tileEntity instanceof TileEntityForceField
&& (((TileEntityForceField) tileEntity).getProjector() == this) ) {
worldObj.setBlockToAir(vector.x, vector.y, vector.z);
}
}
}
}
}
// force a reboot

View file

@ -0,0 +1,78 @@
package cr0s.warpdrive.block.passive;
import cr0s.warpdrive.WarpDrive;
import cr0s.warpdrive.block.BlockAbstractBase;
import cr0s.warpdrive.data.EnumDecorativeType;
import java.util.List;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class BlockDecorative extends BlockAbstractBase {
@SideOnly(Side.CLIENT)
private static IIcon[] icons;
private static ItemStack[] itemStackCache;
public BlockDecorative() {
super(Material.iron);
setHardness(1.5f);
setBlockName("warpdrive.decoration.decorative.plain");
itemStackCache = new ItemStack[EnumDecorativeType.length];
}
@Override
public void getSubBlocks(final Item item, final CreativeTabs creativeTabs, final List list) {
for (final EnumDecorativeType enumDecorativeType : EnumDecorativeType.values()) {
list.add(new ItemStack(item, 1, enumDecorativeType.ordinal()));
}
}
@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(final IIconRegister iconRegister) {
icons = new IIcon[EnumDecorativeType.length];
for (final EnumDecorativeType enumDecorativeType : EnumDecorativeType.values()) {
icons[enumDecorativeType.ordinal()] = iconRegister.registerIcon("warpdrive:decoration/decorative-" + enumDecorativeType.getName());
}
}
@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(final int side, final int damage) {
if (damage >= 0 && damage < EnumDecorativeType.length) {
return icons[damage];
}
return icons[0];
}
@Override
public int damageDropped(final int damage) {
return damage;
}
public static ItemStack getItemStack(final EnumDecorativeType enumDecorativeType) {
if (enumDecorativeType != null) {
final int damage = enumDecorativeType.ordinal();
if (itemStackCache[damage] == null) {
itemStackCache[damage] = new ItemStack(WarpDrive.blockDecorative, 1, damage);
}
return itemStackCache[damage];
}
return null;
}
public static ItemStack getItemStackNoCache(final EnumDecorativeType enumDecorativeType, final int amount) {
return new ItemStack(WarpDrive.blockDecorative, amount, enumDecorativeType.ordinal());
}
}

View file

@ -0,0 +1,40 @@
package cr0s.warpdrive.block.passive;
import cr0s.warpdrive.data.EnumDecorativeType;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
public class ItemBlockDecorative extends ItemBlock {
public ItemBlockDecorative(final Block block) {
super(block);
setHasSubtypes(true);
setUnlocalizedName("warpdrive.decoration.decorative");
}
@Override
public int getMetadata(final int damage) {
return damage;
}
@Override
public void getSubItems(final Item item, final CreativeTabs creativeTabs, final List list) {
for (final EnumDecorativeType decorativeType : EnumDecorativeType.values()) {
list.add(new ItemStack(item, 1, decorativeType.ordinal()));
}
}
@Override
public String getUnlocalizedName(final ItemStack itemstack) {
if (itemstack == null) {
return getUnlocalizedName();
}
return "tile.warpdrive.decoration.decorative." + EnumDecorativeType.get(itemstack.getItemDamage()).getName();
}
}

View file

@ -3,6 +3,7 @@ package cr0s.warpdrive.data;
import cr0s.warpdrive.Commons;
import cr0s.warpdrive.WarpDrive;
import cr0s.warpdrive.api.IForceFieldShape;
import cr0s.warpdrive.api.IStringSerializable;
import cr0s.warpdrive.config.WarpDriveConfig;
import net.minecraft.util.IStringSerializable;

View file

@ -3,6 +3,7 @@ package cr0s.warpdrive.data;
import cr0s.warpdrive.WarpDrive;
import cr0s.warpdrive.api.IForceFieldUpgrade;
import cr0s.warpdrive.api.IForceFieldUpgradeEffector;
import cr0s.warpdrive.api.IStringSerializable;
import cr0s.warpdrive.network.PacketHandler;
import javax.annotation.Nonnull;

View file

@ -399,6 +399,13 @@ public class StarMapRegistry {
continue;
}
// Compare areas for intersection
final AxisAlignedBB aabb2 = AxisAlignedBB.getBoundingBox(registryItem.minX, registryItem.minY, registryItem.minZ,
registryItem.maxX, registryItem.maxY, registryItem.maxZ);
if (!aabb1.intersectsWith(aabb2)) {
continue;
}
// Skip missing ship cores
final TileEntity tileEntity = core.getWorld().getTileEntity(new BlockPos(registryItem.x, registryItem.y, registryItem.z));
if (!(tileEntity instanceof TileEntityShipCore)) {

View file

@ -23,6 +23,7 @@ public class MessageClientSync implements IMessage, IMessageHandler<MessageClien
private NBTTagCompound tagCompound;
@SuppressWarnings("unused")
public MessageClientSync() {
// required on receiving side
}

View file

@ -17,6 +17,7 @@ public class MessageClientValidation implements IMessage, IMessageHandler<Messag
private String mapClass;
@SuppressWarnings("unused")
public MessageClientValidation() {
// required on receiving side
}

View file

@ -47,6 +47,7 @@ public class MessageTransporterEffect implements IMessage, IMessageHandler<Messa
private int tickEnergizing;
private int tickCooldown;
@SuppressWarnings("unused")
public MessageTransporterEffect() {
// required on receiving side
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 682 B