automatic vazkii thing

This commit is contained in:
Ellpeck 2019-10-20 22:30:49 +02:00
parent 0f57eb80dc
commit e482356563
155 changed files with 1478 additions and 1481 deletions

View file

@ -7,23 +7,23 @@ import de.ellpeck.naturesaura.chunk.AuraChunk;
import net.minecraft.advancements.Advancement;
import net.minecraft.block.Block;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.SoundEvents;
import net.minecraft.client.renderer.model.ItemCameraTransforms;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.item.ItemFrameEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.util.SoundEvents;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.NBTBase;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.AxisAlignedBB;
@ -31,13 +31,13 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.ChunkProviderServer;
import net.minecraft.world.chunk.AbstractChunkProvider;
import net.minecraft.world.chunk.ServerChunkProvider;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.CapabilityManager;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandlerModifiable;
import org.lwjgl.opengl.GL11;
@ -85,10 +85,10 @@ public final class Helper {
world.profiler.endSection();
}
public static List<EntityItemFrame> getAttachedItemFrames(World world, BlockPos pos) {
List<EntityItemFrame> frames = world.getEntitiesWithinAABB(EntityItemFrame.class, new AxisAlignedBB(pos).grow(0.25));
public static List<ItemFrameEntity> getAttachedItemFrames(World world, BlockPos pos) {
List<ItemFrameEntity> frames = world.getEntitiesWithinAABB(ItemFrameEntity.class, new AxisAlignedBB(pos).grow(0.25));
for (int i = frames.size() - 1; i >= 0; i--) {
EntityItemFrame frame = frames.get(i);
ItemFrameEntity frame = frames.get(i);
BlockPos framePos = frame.getHangingPosition().offset(frame.facingDirection.getOpposite());
if (!pos.equals(framePos))
frames.remove(i);
@ -99,9 +99,9 @@ public final class Helper {
// For some reason this method isn't public in World, but I also don't want to have to make a new BlockPos
// or use the messy MutableBlockPos system just to see if a chunk is loaded, so this will have to do I guess
public static boolean isChunkLoaded(World world, int x, int z) {
IChunkProvider provider = world.getChunkProvider();
if (provider instanceof ChunkProviderServer)
return ((ChunkProviderServer) provider).chunkExists(x, z);
AbstractChunkProvider provider = world.getChunkProvider();
if (provider instanceof ServerChunkProvider)
return ((ServerChunkProvider) provider).chunkExists(x, z);
else
return !provider.provideChunk(x, z).isEmpty();
}
@ -120,7 +120,7 @@ public final class Helper {
return !nbt || ItemStack.areItemStackShareTagsEqual(first, second);
}
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public static void renderItemInWorld(ItemStack stack) {
if (!stack.isEmpty()) {
GlStateManager.pushMatrix();
@ -135,7 +135,7 @@ public final class Helper {
}
}
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public static void renderItemInGui(ItemStack stack, int x, int y, float scale) {
GlStateManager.pushMatrix();
GlStateManager.enableBlend();
@ -151,7 +151,7 @@ public final class Helper {
GlStateManager.popMatrix();
}
public static boolean putStackOnTile(EntityPlayer player, EnumHand hand, BlockPos pos, int slot, boolean sound) {
public static boolean putStackOnTile(PlayerEntity player, Hand hand, BlockPos pos, int slot, boolean sound) {
TileEntity tile = player.world.getTileEntity(pos);
if (tile instanceof TileEntityImpl) {
IItemHandlerModifiable handler = ((TileEntityImpl) tile).getItemHandler(null);
@ -176,7 +176,7 @@ public final class Helper {
if (!player.world.isRemote) {
ItemStack stack = handler.getStackInSlot(slot);
if (!player.addItemStackToInventory(stack)) {
EntityItem item = new EntityItem(player.world, player.posX, player.posY, player.posZ, stack);
ItemEntity item = new ItemEntity(player.world, player.posX, player.posY, player.posZ, stack);
player.world.spawnEntity(item);
}
handler.setStackInSlot(slot, ItemStack.EMPTY);
@ -203,28 +203,28 @@ public final class Helper {
};
@Override
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable Direction facing) {
return capability == NaturesAuraAPI.capAuraRecharge;
}
@Nullable
@Override
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable Direction facing) {
return capability == NaturesAuraAPI.capAuraRecharge ? (T) this.recharge : null;
}
};
}
public static IBlockState getStateFromString(String raw) {
public static BlockState getStateFromString(String raw) {
String[] split = raw.split("\\[");
Block block = Block.REGISTRY.getObject(new ResourceLocation(split[0]));
if (block != null) {
IBlockState state = block.getDefaultState();
BlockState state = block.getDefaultState();
if (split.length > 1) {
for (String part : split[1].replace("]", "").split(",")) {
String[] keyValue = part.split("=");
for (IProperty<?> prop : state.getProperties().keySet()) {
IBlockState changed = findProperty(state, prop, keyValue[0], keyValue[1]);
BlockState changed = findProperty(state, prop, keyValue[0], keyValue[1]);
if (changed != null) {
state = changed;
break;
@ -237,7 +237,7 @@ public final class Helper {
return null;
}
private static <T extends Comparable<T>> IBlockState findProperty(IBlockState state, IProperty<T> prop, String key, String newValue) {
private static <T extends Comparable<T>> BlockState findProperty(BlockState state, IProperty<T> prop, String key, String newValue) {
if (key.equals(prop.getName()))
for (T value : prop.getAllowedValues())
if (prop.getName(value).equals(newValue))
@ -249,21 +249,21 @@ public final class Helper {
CapabilityManager.INSTANCE.register(type, new Capability.IStorage<T>() {
@Nullable
@Override
public NBTBase writeNBT(Capability capability, Object instance, EnumFacing side) {
public NBTBase writeNBT(Capability capability, Object instance, Direction side) {
return null;
}
@Override
public void readNBT(Capability capability, Object instance, EnumFacing side, NBTBase nbt) {
public void readNBT(Capability capability, Object instance, Direction side, NBTBase nbt) {
}
}, () -> null);
}
public static void addAdvancement(EntityPlayer player, ResourceLocation advancement, String criterion) {
if (!(player instanceof EntityPlayerMP))
public static void addAdvancement(PlayerEntity player, ResourceLocation advancement, String criterion) {
if (!(player instanceof ServerPlayerEntity))
return;
EntityPlayerMP playerMp = (EntityPlayerMP) player;
ServerPlayerEntity playerMp = (ServerPlayerEntity) player;
Advancement adv = playerMp.getServerWorld().getAdvancementManager().getAdvancement(advancement);
if (adv != null)
playerMp.getAdvancements().grantCriterion(adv, criterion);
@ -277,7 +277,7 @@ public final class Helper {
return highestAmount;
}
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public static void renderWeirdBox(double x, double y, double z, double width, double height, double depth) {
GL11.glVertex3d(x, y + height, z);
GL11.glVertex3d(x + width, y + height, z);
@ -305,8 +305,8 @@ public final class Helper {
GL11.glVertex3d(x, y, z);
}
public static boolean isHoldingItem(EntityPlayer player, Item item) {
for (EnumHand hand : EnumHand.values()) {
public static boolean isHoldingItem(PlayerEntity player, Item item) {
for (Hand hand : Hand.values()) {
ItemStack stack = player.getHeldItem(hand);
if (!stack.isEmpty() && stack.getItem() == item)
return true;

View file

@ -9,7 +9,7 @@ import de.ellpeck.naturesaura.api.multiblock.IMultiblock;
import de.ellpeck.naturesaura.blocks.multi.Multiblock;
import de.ellpeck.naturesaura.compat.Compat;
import de.ellpeck.naturesaura.misc.WorldData;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Tuple;
@ -29,16 +29,16 @@ import java.util.function.BiConsumer;
public class InternalHooks implements NaturesAuraAPI.IInternalHooks {
@Override
public boolean extractAuraFromPlayer(EntityPlayer player, int amount, boolean simulate) {
public boolean extractAuraFromPlayer(PlayerEntity player, int amount, boolean simulate) {
return this.auraPlayerInteraction(player, amount, true, simulate);
}
@Override
public boolean insertAuraIntoPlayer(EntityPlayer player, int amount, boolean simulate) {
public boolean insertAuraIntoPlayer(PlayerEntity player, int amount, boolean simulate) {
return this.auraPlayerInteraction(player, amount, false, simulate);
}
private boolean auraPlayerInteraction(EntityPlayer player, int amount, boolean extract, boolean simulate) {
private boolean auraPlayerInteraction(PlayerEntity player, int amount, boolean extract, boolean simulate) {
if (extract && player.capabilities.isCreativeMode)
return true;

View file

@ -6,7 +6,7 @@ import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.api.recipes.WeightedOre;
import de.ellpeck.naturesaura.chunk.effect.OreSpawnEffect;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.DimensionType;
import net.minecraft.world.dimension.DimensionType;
import net.minecraftforge.common.config.Config;
import net.minecraftforge.common.config.Config.Comment;
import net.minecraftforge.common.config.Config.RangeDouble;

View file

@ -20,8 +20,8 @@ import de.ellpeck.naturesaura.potion.ModPotions;
import de.ellpeck.naturesaura.proxy.IProxy;
import de.ellpeck.naturesaura.recipes.ModRecipes;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
@ -55,7 +55,7 @@ public final class NaturesAura {
@SidedProxy(modId = MOD_ID, clientSide = PROXY_LOCATION + "ClientProxy", serverSide = PROXY_LOCATION + "ServerProxy")
public static IProxy proxy;
public static final CreativeTabs CREATIVE_TAB = new CreativeTabs(MOD_ID) {
public static final ItemGroup CREATIVE_TAB = new ItemGroup(MOD_ID) {
@Override
public ItemStack createIcon() {
return new ItemStack(ModItems.GOLD_LEAF);

View file

@ -13,15 +13,15 @@ import de.ellpeck.naturesaura.api.misc.IWorldData;
import de.ellpeck.naturesaura.api.multiblock.IMultiblock;
import de.ellpeck.naturesaura.api.multiblock.Matcher;
import de.ellpeck.naturesaura.api.recipes.*;
import net.minecraft.block.BlockFlower;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.block.FlowerBlock;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.DimensionType;
import net.minecraft.world.dimension.DimensionType;
import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.CapabilityInject;
@ -66,16 +66,16 @@ public final class NaturesAuraAPI {
/**
* The list of all types of blocks that several mechanics in the mod use as
* flowers. Right now, this includes the Herbivorous Absorber and the
* Offering Table. By default, all {@link BlockFlower} instances and all
* Offering Table. By default, all {@link FlowerBlock} instances and all
* blocks specified in the config file are added
*/
public static final List<IBlockState> FLOWERS = new ArrayList<>();
public static final List<BlockState> FLOWERS = new ArrayList<>();
/**
* A map of all of the block states that the Botanist's Pickaxe can convert
* into their mossy variations. Contains mossy brick and mossy cobblestone
* by default, along with all blocks specified in the config file
*/
public static final BiMap<IBlockState, IBlockState> BOTANIST_PICKAXE_CONVERSIONS = HashBiMap.create();
public static final BiMap<BlockState, BlockState> BOTANIST_PICKAXE_CONVERSIONS = HashBiMap.create();
/**
* A map of all {@link IAuraType} instances which are types of Aura present
* in different types of worlds. {@link BasicAuraType} instances can be
@ -201,7 +201,7 @@ public final class NaturesAuraAPI {
* @param simulate If the extraction should be simulated
* @return If the extraction was successful
*/
boolean extractAuraFromPlayer(EntityPlayer player, int amount, boolean simulate);
boolean extractAuraFromPlayer(PlayerEntity player, int amount, boolean simulate);
/**
* Helper method to insert aura into an {@link IAuraContainer} in the
@ -213,7 +213,7 @@ public final class NaturesAuraAPI {
* @param simulate If the insertion should be simulated
* @return If the insertion was successful
*/
boolean insertAuraIntoPlayer(EntityPlayer player, int amount, boolean simulate);
boolean insertAuraIntoPlayer(PlayerEntity player, int amount, boolean simulate);
/**
* This method can be used to spawn the magic particle effect used by
@ -285,7 +285,7 @@ public final class NaturesAuraAPI {
* each character is mapped to a raw matcher
* @param rawMatchers Each char matcher in the form of the char followed
* by a matcher, either in the form of a Block, an
* IBlockState or a {@link Matcher}, similar to the
* BlockState or a {@link Matcher}, similar to the
* old way that crafting recipes work.
* @return the multiblock instance
*/

View file

@ -2,7 +2,7 @@ package de.ellpeck.naturesaura.api.aura.chunk;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
@ -18,7 +18,7 @@ import java.util.function.BiConsumer;
* It is not intended for API users to create custom implementation of this
* class.
*/
public interface IAuraChunk extends INBTSerializable<NBTTagCompound> {
public interface IAuraChunk extends INBTSerializable<CompoundNBT> {
/**
* The default amount of Aura that a chunk has stored
*/

View file

@ -1,7 +1,7 @@
package de.ellpeck.naturesaura.api.aura.chunk;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
@ -16,7 +16,7 @@ public interface IDrainSpotEffect {
ResourceLocation getName();
default int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
default int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
return -1;
}

View file

@ -1,7 +1,7 @@
package de.ellpeck.naturesaura.api.aura.container;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
public class BasicAuraContainer implements IAuraContainer {
@ -52,11 +52,11 @@ public class BasicAuraContainer implements IAuraContainer {
return this.type == null || type.isSimilar(this.type);
}
public void writeNBT(NBTTagCompound compound) {
public void writeNBT(CompoundNBT compound) {
compound.setInteger("aura", this.aura);
}
public void readNBT(NBTTagCompound compound) {
public void readNBT(CompoundNBT compound) {
this.aura = compound.getInteger("aura");
}
}

View file

@ -2,7 +2,7 @@ package de.ellpeck.naturesaura.api.aura.container;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
public class ItemAuraContainer implements IAuraContainer {
@ -38,7 +38,7 @@ public class ItemAuraContainer implements IAuraContainer {
private void setAura(int amount) {
if (!this.stack.hasTagCompound()) {
this.stack.setTagCompound(new NBTTagCompound());
this.stack.setTagCompound(new CompoundNBT());
}
this.stack.getTagCompound().setInteger("aura", amount);
}

View file

@ -2,7 +2,7 @@ package de.ellpeck.naturesaura.api.aura.type;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.DimensionType;
import net.minecraft.world.dimension.DimensionType;
import net.minecraft.world.World;
import java.util.HashSet;

View file

@ -3,7 +3,7 @@ package de.ellpeck.naturesaura.api.internal;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.multiblock.IMultiblock;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.AxisAlignedBB;
@ -17,12 +17,12 @@ import java.util.function.BiConsumer;
public class StubHooks implements NaturesAuraAPI.IInternalHooks {
@Override
public boolean extractAuraFromPlayer(EntityPlayer player, int amount, boolean simulate) {
public boolean extractAuraFromPlayer(PlayerEntity player, int amount, boolean simulate) {
return false;
}
@Override
public boolean insertAuraIntoPlayer(EntityPlayer player, int amount, boolean simulate) {
public boolean insertAuraIntoPlayer(PlayerEntity player, int amount, boolean simulate) {
return false;
}

View file

@ -1,14 +1,14 @@
package de.ellpeck.naturesaura.api.misc;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.DimensionType;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.world.dimension.DimensionType;
import net.minecraft.world.World;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.common.util.INBTSerializable;
import net.minecraftforge.items.IItemHandlerModifiable;
public interface IWorldData extends ICapabilityProvider, INBTSerializable<NBTTagCompound> {
public interface IWorldData extends ICapabilityProvider, INBTSerializable<CompoundNBT> {
static IWorldData getWorldData(World world) {
if (world.hasCapability(NaturesAuraAPI.capWorldData, null))

View file

@ -1,8 +1,8 @@
package de.ellpeck.naturesaura.api.multiblock;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@ -13,15 +13,15 @@ import java.util.List;
public class Matcher {
private final IBlockState defaultState;
private final BlockState defaultState;
private final ICheck check;
public Matcher(IBlockState defaultState, ICheck check) {
public Matcher(BlockState defaultState, ICheck check) {
this.defaultState = defaultState;
this.check = check;
}
public IBlockState getDefaultState() {
public BlockState getDefaultState() {
return this.defaultState;
}
@ -35,10 +35,10 @@ public class Matcher {
public static Matcher oreDict(Block defaultBlock, String name) {
return new Matcher(defaultBlock.getDefaultState(), new ICheck() {
private List<IBlockState> states;
private List<BlockState> states;
@Override
public boolean matches(World world, BlockPos start, BlockPos offset, BlockPos pos, IBlockState state, char c) {
public boolean matches(World world, BlockPos start, BlockPos offset, BlockPos pos, BlockState state, char c) {
if (this.states == null) {
this.states = new ArrayList<>();
for (ItemStack stack : OreDictionary.getOres(name)) {
@ -59,6 +59,6 @@ public class Matcher {
}
public interface ICheck {
boolean matches(World world, BlockPos start, BlockPos offset, BlockPos pos, IBlockState state, char c);
boolean matches(World world, BlockPos start, BlockPos offset, BlockPos pos, BlockState state, char c);
}
}

View file

@ -2,7 +2,7 @@ package de.ellpeck.naturesaura.api.recipes;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.MobEntity;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
@ -34,8 +34,8 @@ public class AnimalSpawnerRecipe {
if (x == 0 && y == 0 && z == 0)
return entity;
entity.setLocationAndAngles(x, y, z, MathHelper.wrapDegrees(world.rand.nextFloat() * 360F), 0F);
if (entity instanceof EntityLiving) {
EntityLiving living = (EntityLiving) entity;
if (entity instanceof MobEntity) {
MobEntity living = (MobEntity) entity;
living.rotationYawHead = entity.rotationYaw;
living.renderYawOffset = entity.rotationYaw;
living.onInitialSpawn(world.getDifficultyForLocation(living.getPosition()), null);

View file

@ -1,16 +1,16 @@
package de.ellpeck.naturesaura.api.render;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public interface ITrinketItem {
enum RenderType {
HEAD, BODY
}
@SideOnly(Side.CLIENT)
void render(ItemStack stack, EntityPlayer player, RenderType type, boolean isHolding);
@OnlyIn(Dist.CLIENT)
void render(ItemStack stack, PlayerEntity player, RenderType type, boolean isHolding);
}

View file

@ -3,14 +3,14 @@ package de.ellpeck.naturesaura.api.render;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public interface IVisualizable {
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
AxisAlignedBB getVisualizationBounds(World world, BlockPos pos);
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
int getVisualizationColor(World world, BlockPos pos);
}

View file

@ -4,12 +4,12 @@ import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityAncientLeaves;
import de.ellpeck.naturesaura.reg.*;
import net.minecraft.block.BlockLeaves;
import net.minecraft.block.LeavesBlock;
import net.minecraft.block.BlockPlanks;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.color.IBlockColor;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.item.Item;
@ -23,15 +23,15 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import javax.annotation.Nullable;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class BlockAncientLeaves extends BlockLeaves implements
public class BlockAncientLeaves extends LeavesBlock implements
IModItem, ICreativeItem, IModelProvider, IColorProvidingBlock, IColorProvidingItem, ITileEntityProvider {
public BlockAncientLeaves() {
@ -40,8 +40,8 @@ public class BlockAncientLeaves extends BlockLeaves implements
}
@Override
public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
return MapColor.PINK;
public MaterialColor getMapColor(BlockState state, IBlockAccess worldIn, BlockPos pos) {
return MaterialColor.PINK;
}
@Override
@ -75,7 +75,7 @@ public class BlockAncientLeaves extends BlockLeaves implements
}
@Override
public IBlockState getStateFromMeta(int meta) {
public BlockState getStateFromMeta(int meta) {
boolean check = (meta & 1) != 0;
boolean decay = (meta & 2) != 0;
@ -83,7 +83,7 @@ public class BlockAncientLeaves extends BlockLeaves implements
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
boolean check = state.getValue(CHECK_DECAY);
boolean decay = state.getValue(DECAYABLE);
@ -91,14 +91,14 @@ public class BlockAncientLeaves extends BlockLeaves implements
}
@Override
public void beginLeavesDecay(IBlockState state, World world, BlockPos pos) {
public void beginLeavesDecay(BlockState state, World world, BlockPos pos) {
if (!state.getValue(CHECK_DECAY) && state.getValue(DECAYABLE)) {
world.setBlockState(pos, state.withProperty(CHECK_DECAY, true), 4);
}
}
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
public void breakBlock(World worldIn, BlockPos pos, BlockState state) {
super.breakBlock(worldIn, pos, state);
worldIn.removeTileEntity(pos);
}
@ -115,20 +115,20 @@ public class BlockAncientLeaves extends BlockLeaves implements
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public IBlockColor getBlockColor() {
return (state, worldIn, pos, tintIndex) -> 0xE55B97;
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public IItemColor getItemColor() {
return (stack, tintIndex) -> 0xE55B97;
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
@OnlyIn(Dist.CLIENT)
public void randomDisplayTick(BlockState stateIn, World worldIn, BlockPos pos, Random rand) {
super.randomDisplayTick(stateIn, worldIn, pos, rand);
if (rand.nextFloat() >= 0.95F && !worldIn.getBlockState(pos.down()).isFullBlock()) {
TileEntity tile = worldIn.getTileEntity(pos);
@ -147,12 +147,12 @@ public class BlockAncientLeaves extends BlockLeaves implements
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
public Item getItemDropped(BlockState state, Random rand, int fortune) {
return Item.getItemFromBlock(ModBlocks.ANCIENT_SAPLING);
}
@Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
public void updateTick(World worldIn, BlockPos pos, BlockState state, Random rand) {
super.updateTick(worldIn, pos, state, rand);
if (!worldIn.isRemote) {
TileEntity tile = worldIn.getTileEntity(pos);

View file

@ -4,14 +4,14 @@ import de.ellpeck.naturesaura.reg.ICreativeItem;
import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.IModelProvider;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.block.BlockLog;
import net.minecraft.block.LogBlock;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class BlockAncientLog extends BlockLog implements IModItem, ICreativeItem, IModelProvider {
public class BlockAncientLog extends LogBlock implements IModItem, ICreativeItem, IModelProvider {
private final String baseName;
@ -46,12 +46,12 @@ public class BlockAncientLog extends BlockLog implements IModItem, ICreativeItem
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
return state.getValue(LOG_AXIS).ordinal();
}
@Override
public IBlockState getStateFromMeta(int meta) {
public BlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(LOG_AXIS, EnumAxis.values()[meta]);
}
}

View file

@ -5,12 +5,12 @@ import de.ellpeck.naturesaura.reg.ICreativeItem;
import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.IModelProvider;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.block.BlockBush;
import net.minecraft.block.BlockSapling;
import net.minecraft.block.BushBlock;
import net.minecraft.block.SaplingBlock;
import net.minecraft.block.IGrowable;
import net.minecraft.block.SoundType;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
@ -22,7 +22,7 @@ import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import java.util.Random;
public class BlockAncientSapling extends BlockBush implements IGrowable, IModItem, ICreativeItem, IModelProvider {
public class BlockAncientSapling extends BushBlock implements IGrowable, IModItem, ICreativeItem, IModelProvider {
private static final AxisAlignedBB AABB = new AxisAlignedBB(
0.09999999403953552D, 0.0D, 0.09999999403953552D,
@ -36,12 +36,12 @@ public class BlockAncientSapling extends BlockBush implements IGrowable, IModIte
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return AABB;
}
@Override
public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) {
public void updateTick(World world, BlockPos pos, BlockState state, Random rand) {
if (!world.isRemote) {
super.updateTick(world, pos, state, rand);
@ -72,34 +72,34 @@ public class BlockAncientSapling extends BlockBush implements IGrowable, IModIte
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(BlockSapling.STAGE, meta);
public BlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(SaplingBlock.STAGE, meta);
}
@Override
public int getMetaFromState(IBlockState state) {
return state.getValue(BlockSapling.STAGE);
public int getMetaFromState(BlockState state) {
return state.getValue(SaplingBlock.STAGE);
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, BlockSapling.STAGE);
return new BlockStateContainer(this, SaplingBlock.STAGE);
}
@Override
public boolean canGrow(World world, BlockPos pos, IBlockState state, boolean isClient) {
public boolean canGrow(World world, BlockPos pos, BlockState state, boolean isClient) {
return true;
}
@Override
public boolean canUseBonemeal(World world, Random rand, BlockPos pos, IBlockState state) {
public boolean canUseBonemeal(World world, Random rand, BlockPos pos, BlockState state) {
return world.rand.nextFloat() < 0.45F;
}
@Override
public void grow(World world, Random rand, BlockPos pos, IBlockState state) {
if (state.getValue(BlockSapling.STAGE) == 0) {
world.setBlockState(pos, state.cycleProperty(BlockSapling.STAGE), 4);
public void grow(World world, Random rand, BlockPos pos, BlockState state) {
if (state.getValue(SaplingBlock.STAGE) == 0) {
world.setBlockState(pos, state.cycleProperty(SaplingBlock.STAGE), 4);
} else if (TerrainGen.saplingGrowTree(world, rand, pos)) {
new WorldGenAncientTree(true).generate(world, rand, pos);
}

View file

@ -8,11 +8,11 @@ import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.INpc;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.INPC;
import net.minecraft.entity.monster.IMob;
import net.minecraft.entity.passive.IAnimals;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.entity.passive.IAnimal;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
@ -22,9 +22,9 @@ import net.minecraftforge.event.entity.living.LivingDeathEvent;
import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.living.LivingEvent;
import net.minecraftforge.event.entity.living.LivingExperienceDropEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockAnimalGenerator extends BlockContainerImpl implements IVisualizable {
public BlockAnimalGenerator() {
@ -37,18 +37,18 @@ public class BlockAnimalGenerator extends BlockContainerImpl implements IVisuali
@SubscribeEvent
public void onLivingUpdate(LivingEvent.LivingUpdateEvent event) {
EntityLivingBase entity = event.getEntityLiving();
if (entity.world.isRemote || !(entity instanceof IAnimals) || entity instanceof IMob || entity instanceof INpc)
LivingEntity entity = event.getEntityLiving();
if (entity.world.isRemote || !(entity instanceof IAnimal) || entity instanceof IMob || entity instanceof INPC)
return;
NBTTagCompound data = entity.getEntityData();
CompoundNBT data = entity.getEntityData();
int timeAlive = data.getInteger(NaturesAura.MOD_ID + ":time_alive");
data.setInteger(NaturesAura.MOD_ID + ":time_alive", timeAlive + 1);
}
@SubscribeEvent
public void onEntityDeath(LivingDeathEvent event) {
EntityLivingBase entity = event.getEntityLiving();
if (entity.world.isRemote || !(entity instanceof IAnimals) || entity instanceof IMob || entity instanceof INpc)
LivingEntity entity = event.getEntityLiving();
if (entity.world.isRemote || !(entity instanceof IAnimal) || entity instanceof IMob || entity instanceof INPC)
return;
BlockPos pos = entity.getPosition();
Helper.getTileEntitiesInArea(entity.world, pos, 5, tile -> {
@ -56,7 +56,7 @@ public class BlockAnimalGenerator extends BlockContainerImpl implements IVisuali
return false;
TileEntityAnimalGenerator gen = (TileEntityAnimalGenerator) tile;
NBTTagCompound data = entity.getEntityData();
CompoundNBT data = entity.getEntityData();
data.setBoolean(NaturesAura.MOD_ID + ":no_drops", true);
if (gen.isBusy())
@ -85,26 +85,26 @@ public class BlockAnimalGenerator extends BlockContainerImpl implements IVisuali
@SubscribeEvent
public void onEntityDrops(LivingDropsEvent event) {
EntityLivingBase entity = event.getEntityLiving();
LivingEntity entity = event.getEntityLiving();
if (entity.getEntityData().getBoolean(NaturesAura.MOD_ID + ":no_drops"))
event.setCanceled(true);
}
@SubscribeEvent
public void onEntityExp(LivingExperienceDropEvent event) {
EntityLivingBase entity = event.getEntityLiving();
LivingEntity entity = event.getEntityLiving();
if (entity.getEntityData().getBoolean(NaturesAura.MOD_ID + ":no_drops"))
event.setCanceled(true);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return new AxisAlignedBB(pos).grow(5);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0x11377a;
}

View file

@ -3,7 +3,7 @@ package de.ellpeck.naturesaura.blocks;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityAuraDetector;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@ -17,12 +17,12 @@ public class BlockAuraDetector extends BlockContainerImpl {
}
@Override
public boolean hasComparatorInputOverride(IBlockState state) {
public boolean hasComparatorInputOverride(BlockState state) {
return true;
}
@Override
public int getComparatorInputOverride(IBlockState blockState, World worldIn, BlockPos pos) {
public int getComparatorInputOverride(BlockState blockState, World worldIn, BlockPos pos) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityAuraDetector)
return ((TileEntityAuraDetector) tile).redstonePower;

View file

@ -1,19 +1,19 @@
package de.ellpeck.naturesaura.blocks;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityAutoCrafter;
import net.minecraft.block.BlockHorizontal;
import net.minecraft.block.HorizontalBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.EnumFacing;
import net.minecraft.block.BlockState;
import net.minecraft.entity.LivingEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class BlockAutoCrafter extends BlockContainerImpl {
public static final PropertyDirection FACING = BlockHorizontal.FACING;
public static final PropertyDirection FACING = HorizontalBlock.FACING;
public BlockAutoCrafter() {
super(Material.WOOD, "auto_crafter", TileEntityAutoCrafter.class, "auto_crafter");
@ -27,17 +27,17 @@ public class BlockAutoCrafter extends BlockContainerImpl {
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
return state.getValue(FACING).getHorizontalIndex();
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(FACING, EnumFacing.byHorizontalIndex(meta));
public BlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(FACING, Direction.byHorizontalIndex(meta));
}
@Override
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
public BlockState getStateForPlacement(World worldIn, BlockPos pos, Direction facing, float hitX, float hitY, float hitZ, int meta, LivingEntity placer) {
return this.getDefaultState().withProperty(FACING, placer.getHorizontalFacing());
}
}

View file

@ -7,10 +7,10 @@ import de.ellpeck.naturesaura.blocks.tiles.TileEntityChunkLoader;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
@ -19,8 +19,8 @@ import net.minecraft.world.World;
import net.minecraftforge.common.ForgeChunkManager;
import net.minecraftforge.common.ForgeChunkManager.Ticket;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.List;
import java.util.Random;
@ -42,7 +42,7 @@ public class BlockChunkLoader extends BlockContainerImpl implements IVisualizabl
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileEntityChunkLoader) {
@ -61,8 +61,8 @@ public class BlockChunkLoader extends BlockContainerImpl implements IVisualizabl
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
@OnlyIn(Dist.CLIENT)
public void randomDisplayTick(BlockState stateIn, World worldIn, BlockPos pos, Random rand) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityChunkLoader) {
int range = ((TileEntityChunkLoader) tile).range();
@ -75,33 +75,33 @@ public class BlockChunkLoader extends BlockContainerImpl implements IVisualizabl
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0xc159f9;
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return BOUND_BOX;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
@ -110,7 +110,7 @@ public class BlockChunkLoader extends BlockContainerImpl implements IVisualizabl
@Override
public void ticketsLoaded(List<Ticket> tickets, World world) {
for (Ticket ticket : tickets) {
NBTTagCompound data = ticket.getModData();
CompoundNBT data = ticket.getModData();
BlockPos pos = BlockPos.fromLong(data.getLong("pos"));
TileEntity tile = world.getTileEntity(pos);
if (!(tile instanceof TileEntityChunkLoader))

View file

@ -7,14 +7,14 @@ import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.IModelProvider;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.ContainerBlock;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.block.BlockState;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.block.BlockRenderType;
import net.minecraft.util.NonNullList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
@ -28,7 +28,7 @@ import net.minecraftforge.fml.common.registry.GameRegistry;
import javax.annotation.Nullable;
import java.util.Random;
public class BlockContainerImpl extends BlockContainer implements IModItem, ICreativeItem, IModelProvider {
public class BlockContainerImpl extends ContainerBlock implements IModItem, ICreativeItem, IModelProvider {
private final String baseName;
@ -75,12 +75,12 @@ public class BlockContainerImpl extends BlockContainer implements IModItem, ICre
}
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
return EnumBlockRenderType.MODEL;
public BlockRenderType getRenderType(BlockState state) {
return BlockRenderType.MODEL;
}
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
public void breakBlock(World worldIn, BlockPos pos, BlockState state) {
if (!worldIn.isRemote) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityImpl)
@ -90,7 +90,7 @@ public class BlockContainerImpl extends BlockContainer implements IModItem, ICre
}
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, BlockState state, int fortune) {
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileEntityImpl)
drops.add(((TileEntityImpl) tile).getDrop(state, fortune));
@ -99,30 +99,30 @@ public class BlockContainerImpl extends BlockContainer implements IModItem, ICre
}
@Override
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) {
public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest) {
return willHarvest || super.removedByPlayer(state, world, pos, player, false);
}
@Override
public void harvestBlock(World worldIn, EntityPlayer player, BlockPos pos, IBlockState state, @Nullable TileEntity te, ItemStack stack) {
public void harvestBlock(World worldIn, PlayerEntity player, BlockPos pos, BlockState state, @Nullable TileEntity te, ItemStack stack) {
super.harvestBlock(worldIn, player, pos, state, te, stack);
worldIn.setBlockToAir(pos);
}
@Override
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) {
public void onBlockPlacedBy(World worldIn, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityImpl)
((TileEntityImpl) tile).loadDataOnPlace(stack);
}
@Override
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) {
public void onBlockAdded(World worldIn, BlockPos pos, BlockState state) {
this.updateRedstoneState(worldIn, pos);
}
@Override
public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos) {
public void neighborChanged(BlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos) {
this.updateRedstoneState(worldIn, pos);
}
@ -144,7 +144,7 @@ public class BlockContainerImpl extends BlockContainer implements IModItem, ICre
}
@Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
public void updateTick(World worldIn, BlockPos pos, BlockState state, Random rand) {
if (!worldIn.isRemote) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityImpl) {

View file

@ -2,14 +2,14 @@ package de.ellpeck.naturesaura.blocks;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Items;
import net.minecraft.block.BlockState;
import net.minecraft.item.Items;
import net.minecraft.item.Item;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.Random;
@ -24,25 +24,25 @@ public class BlockDecayedLeaves extends BlockImpl {
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT_MIPPED;
}
@Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random random) {
public void updateTick(World worldIn, BlockPos pos, BlockState state, Random random) {
if (!worldIn.isRemote) {
worldIn.setBlockToAir(pos);
}
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
public Item getItemDropped(BlockState state, Random rand, int fortune) {
return Items.AIR;
}
}

View file

@ -9,31 +9,31 @@ import de.ellpeck.naturesaura.reg.ICreativeItem;
import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.IModelProvider;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.block.BlockRailBase;
import net.minecraft.block.AbstractRailBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.SoundEvents;
import net.minecraft.block.BlockState;
import net.minecraft.entity.item.minecart.AbstractMinecartEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.DimensionType;
import net.minecraft.world.dimension.DimensionType;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraft.world.ServerWorld;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class BlockDimensionRail extends BlockRailBase implements IModItem, ICreativeItem, IModelProvider {
public class BlockDimensionRail extends AbstractRailBlock implements IModItem, ICreativeItem, IModelProvider {
public static final PropertyEnum<EnumRailDirection> SHAPE = PropertyEnum.create("shape", EnumRailDirection.class, EnumRailDirection.NORTH_SOUTH, EnumRailDirection.EAST_WEST);
@ -60,7 +60,7 @@ public class BlockDimensionRail extends BlockRailBase implements IModItem, ICrea
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World worldIn, BlockPos pos, BlockState state, PlayerEntity playerIn, Hand hand, Direction facing, float hitX, float hitY, float hitZ) {
ItemStack stack = playerIn.getHeldItem(hand);
if (stack.getItem() == ModItems.RANGE_VISUALIZER) {
if (!worldIn.isRemote) {
@ -74,7 +74,7 @@ public class BlockDimensionRail extends BlockRailBase implements IModItem, ICrea
}
@Override
public void onMinecartPass(World world, EntityMinecart cart, BlockPos pos) {
public void onMinecartPass(World world, AbstractMinecartEntity cart, BlockPos pos) {
if (world.isRemote)
return;
if (cart.isBeingRidden())
@ -103,7 +103,7 @@ public class BlockDimensionRail extends BlockRailBase implements IModItem, ICrea
return new BlockPos(pos.getX() / 8, pos.getY() / 2, pos.getZ() / 8);
} else if (this == ModBlocks.DIMENSION_RAIL_END) {
// travel to the end from the overworld
WorldServer end = server.getWorld(this.goalDim);
ServerWorld end = server.getWorld(this.goalDim);
return end.getSpawnCoordinate().up(8);
} else {
if (world.provider.getDimensionType() == DimensionType.NETHER) {
@ -138,12 +138,12 @@ public class BlockDimensionRail extends BlockRailBase implements IModItem, ICrea
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
return state.getValue(SHAPE).getMetadata();
}
@Override
public IBlockState getStateFromMeta(int meta) {
public BlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(SHAPE, EnumRailDirection.byMetadata(meta));
}

View file

@ -6,14 +6,14 @@ import de.ellpeck.naturesaura.reg.ICreativeItem;
import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.IModelProvider;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.block.BlockBush;
import net.minecraft.block.BushBlock;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.SoundType;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.block.BlockState;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.boss.dragon.EnderDragonEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.NonNullList;
@ -26,12 +26,12 @@ import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import javax.annotation.Nullable;
public class BlockEndFlower extends BlockBush implements IModItem, ICreativeItem, IModelProvider, ITileEntityProvider {
public class BlockEndFlower extends BushBlock implements IModItem, ICreativeItem, IModelProvider, ITileEntityProvider {
public BlockEndFlower() {
this.setHardness(0.5F);
@ -44,10 +44,10 @@ public class BlockEndFlower extends BlockBush implements IModItem, ICreativeItem
@SubscribeEvent
public void onDraonTick(LivingUpdateEvent event) {
EntityLivingBase living = event.getEntityLiving();
if (living.world.isRemote || !(living instanceof EntityDragon))
LivingEntity living = event.getEntityLiving();
if (living.world.isRemote || !(living instanceof EnderDragonEntity))
return;
EntityDragon dragon = (EntityDragon) living;
EnderDragonEntity dragon = (EnderDragonEntity) living;
if (dragon.deathTicks < 150 || dragon.deathTicks % 10 != 0)
return;
@ -64,7 +64,7 @@ public class BlockEndFlower extends BlockBush implements IModItem, ICreativeItem
}
@Override
protected boolean canSustainBush(IBlockState state) {
protected boolean canSustainBush(BlockState state) {
return state.getBlock() == Blocks.END_STONE;
}
@ -74,7 +74,7 @@ public class BlockEndFlower extends BlockBush implements IModItem, ICreativeItem
}
@Override
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state) {
public boolean canBlockStay(World worldIn, BlockPos pos, BlockState state) {
return this.canSustainBush(worldIn.getBlockState(pos.down()));
}
@ -105,13 +105,13 @@ public class BlockEndFlower extends BlockBush implements IModItem, ICreativeItem
}
@Override
public void breakBlock(World worldIn, BlockPos pos, IBlockState state) {
public void breakBlock(World worldIn, BlockPos pos, BlockState state) {
super.breakBlock(worldIn, pos, state);
worldIn.removeTileEntity(pos);
}
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, BlockState state, int fortune) {
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileEntityEndFlower && ((TileEntityEndFlower) tile).isDrainMode)
return;
@ -120,12 +120,12 @@ public class BlockEndFlower extends BlockBush implements IModItem, ICreativeItem
}
@Override
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) {
public boolean removedByPlayer(BlockState state, World world, BlockPos pos, PlayerEntity player, boolean willHarvest) {
return willHarvest || super.removedByPlayer(state, world, pos, player, false);
}
@Override
public void harvestBlock(World worldIn, EntityPlayer player, BlockPos pos, IBlockState state, @Nullable TileEntity te, ItemStack stack) {
public void harvestBlock(World worldIn, PlayerEntity player, BlockPos pos, BlockState state, @Nullable TileEntity te, ItemStack stack) {
super.harvestBlock(worldIn, player, pos, state, te, stack);
worldIn.setBlockToAir(pos);
}

View file

@ -6,21 +6,21 @@ import de.ellpeck.naturesaura.blocks.tiles.TileEntityEnderCrate;
import de.ellpeck.naturesaura.blocks.tiles.render.RenderEnderCrate;
import de.ellpeck.naturesaura.items.ModItems;
import de.ellpeck.naturesaura.reg.ITESRProvider;
import net.minecraft.block.BlockAnvil;
import net.minecraft.block.AnvilBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.resources.I18n;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.BlockPos;
@ -29,9 +29,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.AnvilUpdateEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import javax.annotation.Nullable;
import java.lang.ref.WeakReference;
@ -55,11 +55,11 @@ public class BlockEnderCrate extends BlockContainerImpl implements ITESRProvider
public static String getEnderName(ItemStack stack) {
if (!stack.hasTagCompound())
return "";
NBTTagCompound compound = stack.getTagCompound();
CompoundNBT compound = stack.getTagCompound();
return compound.getString(NaturesAura.MOD_ID + ":ender_name");
}
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public static void addEnderNameInfo(ItemStack stack, List<String> tooltip) {
String name = getEnderName(stack);
if (name != null && !name.isEmpty())
@ -73,8 +73,8 @@ public class BlockEnderCrate extends BlockContainerImpl implements ITESRProvider
public void onRightClick(PlayerInteractEvent.RightClickBlock event) {
World world = event.getWorld();
BlockPos pos = event.getPos();
IBlockState state = world.getBlockState(pos);
if (state.getBlock() instanceof BlockAnvil) {
BlockState state = world.getBlockState(pos);
if (state.getBlock() instanceof AnvilBlock) {
CACHED_WORLD.set(new WeakReference<>(world));
}
}
@ -97,7 +97,7 @@ public class BlockEnderCrate extends BlockContainerImpl implements ITESRProvider
return;
ItemStack output = stack.copy();
if (!output.hasTagCompound())
output.setTagCompound(new NBTTagCompound());
output.setTagCompound(new CompoundNBT());
output.getTagCompound().setString(NaturesAura.MOD_ID + ":ender_name", name);
event.setOutput(output);
event.setMaterialCost(stack.getCount());
@ -105,7 +105,7 @@ public class BlockEnderCrate extends BlockContainerImpl implements ITESRProvider
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World worldIn, BlockPos pos, BlockState state, PlayerEntity playerIn, Hand hand, Direction facing, float hitX, float hitY, float hitZ) {
if (!worldIn.isRemote) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityEnderCrate) {
@ -120,14 +120,14 @@ public class BlockEnderCrate extends BlockContainerImpl implements ITESRProvider
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) {
addEnderNameInfo(stack, tooltip);
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
@OnlyIn(Dist.CLIENT)
public void randomDisplayTick(BlockState stateIn, World worldIn, BlockPos pos, Random rand) {
for (int i = 0; i < 3; ++i) {
int j = rand.nextInt(2) * 2 - 1;
int k = rand.nextInt(2) * 2 - 1;
@ -142,8 +142,8 @@ public class BlockEnderCrate extends BlockContainerImpl implements ITESRProvider
}
@Override
@SideOnly(Side.CLIENT)
public Tuple<Class, TileEntitySpecialRenderer> getTESR() {
@OnlyIn(Dist.CLIENT)
public Tuple<Class, TileEntityRenderer> getTESR() {
return new Tuple<>(TileEntityEnderCrate.class, new RenderEnderCrate());
}
}

View file

@ -6,19 +6,19 @@ import de.ellpeck.naturesaura.blocks.tiles.TileEntityFieldCreator;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentTranslation;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.Random;
@ -30,12 +30,12 @@ public class BlockFieldCreator extends BlockContainerImpl {
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World worldIn, BlockPos pos, BlockState state, PlayerEntity playerIn, Hand hand, Direction facing, float hitX, float hitY, float hitZ) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityFieldCreator) {
if (!worldIn.isRemote) {
String key = NaturesAura.MOD_ID + ":field_creator_pos";
NBTTagCompound compound = playerIn.getEntityData();
CompoundNBT compound = playerIn.getEntityData();
if (!playerIn.isSneaking() && compound.hasKey(key)) {
BlockPos stored = BlockPos.fromLong(compound.getLong(key));
TileEntityFieldCreator creator = (TileEntityFieldCreator) tile;
@ -53,16 +53,16 @@ public class BlockFieldCreator extends BlockContainerImpl {
otherCreator.sendToClients();
compound.removeTag(key);
playerIn.sendStatusMessage(new TextComponentTranslation("info." + NaturesAura.MOD_ID + ".connected"), true);
playerIn.sendStatusMessage(new TranslationTextComponent("info." + NaturesAura.MOD_ID + ".connected"), true);
} else
playerIn.sendStatusMessage(new TextComponentTranslation("info." + NaturesAura.MOD_ID + ".stored_pos_gone"), true);
playerIn.sendStatusMessage(new TranslationTextComponent("info." + NaturesAura.MOD_ID + ".stored_pos_gone"), true);
} else
playerIn.sendStatusMessage(new TextComponentTranslation("info." + NaturesAura.MOD_ID + ".too_far"), true);
playerIn.sendStatusMessage(new TranslationTextComponent("info." + NaturesAura.MOD_ID + ".too_far"), true);
} else
playerIn.sendStatusMessage(new TextComponentTranslation("info." + NaturesAura.MOD_ID + ".same_position"), true);
playerIn.sendStatusMessage(new TranslationTextComponent("info." + NaturesAura.MOD_ID + ".same_position"), true);
} else {
compound.setLong(key, pos.toLong());
playerIn.sendStatusMessage(new TextComponentTranslation("info." + NaturesAura.MOD_ID + ".stored_pos"), true);
playerIn.sendStatusMessage(new TranslationTextComponent("info." + NaturesAura.MOD_ID + ".stored_pos"), true);
}
}
return true;
@ -71,8 +71,8 @@ public class BlockFieldCreator extends BlockContainerImpl {
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
@OnlyIn(Dist.CLIENT)
public void randomDisplayTick(BlockState stateIn, World worldIn, BlockPos pos, Random rand) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityFieldCreator) {
TileEntityFieldCreator creator = (TileEntityFieldCreator) tile;
@ -93,33 +93,33 @@ public class BlockFieldCreator extends BlockContainerImpl {
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public boolean isSideSolid(IBlockState baseState, IBlockAccess world, BlockPos pos, EnumFacing side) {
public boolean isSideSolid(BlockState baseState, IBlockAccess world, BlockPos pos, Direction side) {
return false;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
}

View file

@ -7,8 +7,8 @@ import net.minecraft.block.material.Material;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockFireworkGenerator extends BlockContainerImpl implements IVisualizable {
public BlockFireworkGenerator() {
@ -18,13 +18,13 @@ public class BlockFireworkGenerator extends BlockContainerImpl implements IVisua
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return new AxisAlignedBB(pos).grow(4);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0xa442f4;
}

View file

@ -7,8 +7,8 @@ import net.minecraft.block.material.Material;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockFlowerGenerator extends BlockContainerImpl implements IVisualizable {
@ -19,13 +19,13 @@ public class BlockFlowerGenerator extends BlockContainerImpl implements IVisuali
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return new AxisAlignedBB(pos).grow(3);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0xffed2b;
}

View file

@ -6,17 +6,17 @@ import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.block.BlockState;
import net.minecraft.entity.LivingEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.Random;
@ -37,20 +37,20 @@ public class BlockFurnaceHeater extends BlockContainerImpl {
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
@OnlyIn(Dist.CLIENT)
public void randomDisplayTick(BlockState stateIn, World worldIn, BlockPos pos, Random rand) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityFurnaceHeater && ((TileEntityFurnaceHeater) tile).isActive) {
EnumFacing facing = stateIn.getValue(FACING);
Direction facing = stateIn.getValue(FACING);
float x;
float y;
float z;
if (facing == EnumFacing.UP) {
if (facing == Direction.UP) {
x = 0.35F + rand.nextFloat() * 0.3F;
y = 0F;
z = 0.35F + rand.nextFloat() * 0.3F;
} else if (facing == EnumFacing.DOWN) {
} else if (facing == Direction.DOWN) {
x = 0.35F + rand.nextFloat() * 0.3F;
y = 1F;
z = 0.35F + rand.nextFloat() * 0.3F;
@ -70,7 +70,7 @@ public class BlockFurnaceHeater extends BlockContainerImpl {
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
switch (state.getValue(FACING)) {
case DOWN:
return AABB_DOWN;
@ -88,27 +88,27 @@ public class BlockFurnaceHeater extends BlockContainerImpl {
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public boolean isSideSolid(IBlockState baseState, IBlockAccess world, BlockPos pos, EnumFacing side) {
public boolean isSideSolid(BlockState baseState, IBlockAccess world, BlockPos pos, Direction side) {
return false;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
@ -118,17 +118,17 @@ public class BlockFurnaceHeater extends BlockContainerImpl {
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
return state.getValue(FACING).getIndex();
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(FACING, EnumFacing.byIndex(meta));
public BlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(FACING, Direction.byIndex(meta));
}
@Override
public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer, EnumHand hand) {
public BlockState getStateForPlacement(World world, BlockPos pos, Direction facing, float hitX, float hitY, float hitZ, int meta, LivingEntity placer, Hand hand) {
return this.getDefaultState().withProperty(FACING, facing);
}
}

View file

@ -5,10 +5,10 @@ import de.ellpeck.naturesaura.blocks.tiles.render.RenderGeneratorLimitRemover;
import de.ellpeck.naturesaura.reg.ITESRProvider;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.util.Tuple;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockGeneratorLimitRemover extends BlockContainerImpl implements ITESRProvider {
@ -19,8 +19,8 @@ public class BlockGeneratorLimitRemover extends BlockContainerImpl implements IT
}
@Override
@SideOnly(Side.CLIENT)
public Tuple<Class, TileEntitySpecialRenderer> getTESR() {
@OnlyIn(Dist.CLIENT)
public Tuple<Class, TileEntityRenderer> getTESR() {
return new Tuple<>(TileEntityGeneratorLimitRemover.class, new RenderGeneratorLimitRemover());
}
}

View file

@ -7,18 +7,18 @@ import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.color.IBlockColor;
import net.minecraft.init.Blocks;
import net.minecraft.block.Blocks;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import javax.annotation.Nullable;
@ -64,7 +64,7 @@ public class BlockGoldPowder extends BlockImpl implements IColorProvidingBlock {
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
return 0;
}
@ -74,11 +74,11 @@ public class BlockGoldPowder extends BlockImpl implements IColorProvidingBlock {
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return AABBS[getAABBIndex(state.getActualState(source, pos))];
}
private static int getAABBIndex(IBlockState state) {
private static int getAABBIndex(BlockState state) {
int i = 0;
boolean n = state.getValue(NORTH) != AttachPos.NONE;
boolean e = state.getValue(EAST) != AttachPos.NONE;
@ -86,38 +86,38 @@ public class BlockGoldPowder extends BlockImpl implements IColorProvidingBlock {
boolean w = state.getValue(WEST) != AttachPos.NONE;
if (n || s && !n && !e && !w) {
i |= 1 << EnumFacing.NORTH.getHorizontalIndex();
i |= 1 << Direction.NORTH.getHorizontalIndex();
}
if (e || w && !n && !e && !s) {
i |= 1 << EnumFacing.EAST.getHorizontalIndex();
i |= 1 << Direction.EAST.getHorizontalIndex();
}
if (s || n && !e && !s && !w) {
i |= 1 << EnumFacing.SOUTH.getHorizontalIndex();
i |= 1 << Direction.SOUTH.getHorizontalIndex();
}
if (w || e && !n && !s && !w) {
i |= 1 << EnumFacing.WEST.getHorizontalIndex();
i |= 1 << Direction.WEST.getHorizontalIndex();
}
return i;
}
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
state = state.withProperty(WEST, this.getAttachPosition(worldIn, pos, EnumFacing.WEST));
state = state.withProperty(EAST, this.getAttachPosition(worldIn, pos, EnumFacing.EAST));
state = state.withProperty(NORTH, this.getAttachPosition(worldIn, pos, EnumFacing.NORTH));
state = state.withProperty(SOUTH, this.getAttachPosition(worldIn, pos, EnumFacing.SOUTH));
public BlockState getActualState(BlockState state, IBlockAccess worldIn, BlockPos pos) {
state = state.withProperty(WEST, this.getAttachPosition(worldIn, pos, Direction.WEST));
state = state.withProperty(EAST, this.getAttachPosition(worldIn, pos, Direction.EAST));
state = state.withProperty(NORTH, this.getAttachPosition(worldIn, pos, Direction.NORTH));
state = state.withProperty(SOUTH, this.getAttachPosition(worldIn, pos, Direction.SOUTH));
return state;
}
private AttachPos getAttachPosition(IBlockAccess worldIn, BlockPos pos, EnumFacing direction) {
private AttachPos getAttachPosition(IBlockAccess worldIn, BlockPos pos, Direction direction) {
BlockPos dirPos = pos.offset(direction);
IBlockState state = worldIn.getBlockState(pos.offset(direction));
BlockState state = worldIn.getBlockState(pos.offset(direction));
if (!this.canConnectTo(worldIn.getBlockState(dirPos), direction, worldIn, dirPos)
&& (state.isNormalCube() || !this.canConnectUpwardsTo(worldIn, dirPos.down()))) {
IBlockState iblockstate1 = worldIn.getBlockState(pos.up());
BlockState iblockstate1 = worldIn.getBlockState(pos.up());
if (!iblockstate1.isNormalCube()) {
boolean flag = worldIn.getBlockState(dirPos).isSideSolid(worldIn, dirPos, EnumFacing.UP)
boolean flag = worldIn.getBlockState(dirPos).isSideSolid(worldIn, dirPos, Direction.UP)
|| worldIn.getBlockState(dirPos).getBlock() == Blocks.GLOWSTONE;
if (flag && this.canConnectUpwardsTo(worldIn, dirPos.up())) {
if (state.isBlockNormalCube()) {
@ -133,30 +133,30 @@ public class BlockGoldPowder extends BlockImpl implements IColorProvidingBlock {
}
@Override
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) {
public AxisAlignedBB getCollisionBoundingBox(BlockState blockState, IBlockAccess worldIn, BlockPos pos) {
return NULL_AABB;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean canPlaceBlockAt(World worldIn, BlockPos pos) {
IBlockState downState = worldIn.getBlockState(pos.down());
BlockState downState = worldIn.getBlockState(pos.down());
return downState.isTopSolid()
|| downState.getBlockFaceShape(worldIn, pos.down(), EnumFacing.UP) == BlockFaceShape.SOLID
|| downState.getBlockFaceShape(worldIn, pos.down(), Direction.UP) == BlockFaceShape.SOLID
|| worldIn.getBlockState(pos.down()).getBlock() == Blocks.GLOWSTONE;
}
@Override
public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos) {
public void neighborChanged(BlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos) {
if (!worldIn.isRemote) {
if (!this.canPlaceBlockAt(worldIn, pos)) {
this.dropBlockAsItem(worldIn, pos, state, 0);
@ -169,19 +169,19 @@ public class BlockGoldPowder extends BlockImpl implements IColorProvidingBlock {
return this.canConnectTo(worldIn.getBlockState(pos), null, worldIn, pos);
}
private boolean canConnectTo(IBlockState blockState, @Nullable EnumFacing side, IBlockAccess world, BlockPos pos) {
private boolean canConnectTo(BlockState blockState, @Nullable Direction side, IBlockAccess world, BlockPos pos) {
Block block = blockState.getBlock();
return block == this;
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}

View file

@ -4,32 +4,32 @@ import de.ellpeck.naturesaura.Helper;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.items.ModItems;
import de.ellpeck.naturesaura.reg.*;
import net.minecraft.block.BlockLeaves;
import net.minecraft.block.LeavesBlock;
import net.minecraft.block.BlockPlanks;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.color.IBlockColor;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeColorHelper;
import net.minecraft.world.biome.BiomeColors;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.List;
import java.util.Random;
public class BlockGoldenLeaves extends BlockLeaves implements
public class BlockGoldenLeaves extends LeavesBlock implements
IModItem, IModelProvider, IColorProvidingBlock, IColorProvidingItem {
private static final int HIGHEST_STAGE = 3;
@ -41,8 +41,8 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
return MapColor.GOLD;
public MaterialColor getMapColor(BlockState state, IBlockAccess worldIn, BlockPos pos) {
return MaterialColor.GOLD;
}
@Override
@ -66,8 +66,8 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
@OnlyIn(Dist.CLIENT)
public void randomDisplayTick(BlockState stateIn, World worldIn, BlockPos pos, Random rand) {
if (stateIn.getValue(STAGE) == HIGHEST_STAGE && rand.nextFloat() >= 0.75F)
NaturesAuraAPI.instance().spawnMagicParticle(
pos.getX() + rand.nextFloat(),
@ -90,7 +90,7 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
public IBlockState getStateFromMeta(int meta) {
public BlockState getStateFromMeta(int meta) {
boolean check = (meta & 4) != 0; // 4th bit
boolean decay = (meta & 8) != 0; // 3rd bit
int stage = meta & HIGHEST_STAGE; // 1st and 2nd bit
@ -99,7 +99,7 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
boolean check = state.getValue(CHECK_DECAY);
boolean decay = state.getValue(DECAYABLE);
@ -107,7 +107,7 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
public void beginLeavesDecay(IBlockState state, World world, BlockPos pos) {
public void beginLeavesDecay(BlockState state, World world, BlockPos pos) {
if (!state.getValue(CHECK_DECAY) && state.getValue(DECAYABLE)) {
world.setBlockState(pos, state.withProperty(CHECK_DECAY, true), 4);
}
@ -119,12 +119,12 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public IBlockColor getBlockColor() {
return (state, worldIn, pos, tintIndex) -> {
int color = 0xF2FF00;
if (state != null && worldIn != null && pos != null) {
int foliage = BiomeColorHelper.getFoliageColorAtPos(worldIn, pos);
int foliage = BiomeColors.getFoliageColorAtPos(worldIn, pos);
return Helper.blendColors(color, foliage, state.getValue(STAGE) / (float) HIGHEST_STAGE);
} else {
return color;
@ -133,13 +133,13 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public IItemColor getItemColor() {
return (stack, tintIndex) -> 0xF2FF00;
}
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, BlockState state, int fortune) {
Random rand = world instanceof World ? ((World) world).rand : RANDOM;
if (state.getValue(STAGE) < HIGHEST_STAGE) {
if (rand.nextFloat() >= 0.75F) {
@ -151,7 +151,7 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
public void updateTick(World worldIn, BlockPos pos, BlockState state, Random rand) {
super.updateTick(worldIn, pos, state, rand);
if (!worldIn.isRemote) {
int stage = state.getValue(STAGE);
@ -160,7 +160,7 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
if (stage > 1) {
BlockPos offset = pos.offset(EnumFacing.random(rand));
BlockPos offset = pos.offset(Direction.random(rand));
if (worldIn.isBlockLoaded(offset))
convert(worldIn, offset);
}
@ -168,12 +168,12 @@ public class BlockGoldenLeaves extends BlockLeaves implements
}
@Override
public boolean canSilkHarvest(World world, BlockPos pos, IBlockState state, EntityPlayer player) {
public boolean canSilkHarvest(World world, BlockPos pos, BlockState state, PlayerEntity player) {
return false;
}
public static boolean convert(World world, BlockPos pos) {
IBlockState state = world.getBlockState(pos);
BlockState state = world.getBlockState(pos);
if (state.getBlock().isLeaves(state, world, pos) &&
!(state.getBlock() instanceof BlockAncientLeaves || state.getBlock() instanceof BlockGoldenLeaves)) {
if (!world.isRemote) {

View file

@ -1,16 +1,16 @@
package de.ellpeck.naturesaura.blocks;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityGratedChute;
import net.minecraft.block.BlockHopper;
import net.minecraft.block.HopperBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.*;
@ -19,8 +19,8 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.items.IItemHandler;
import javax.annotation.Nullable;
@ -28,7 +28,7 @@ import java.util.List;
public class BlockGratedChute extends BlockContainerImpl {
public static final PropertyDirection FACING = BlockHopper.FACING;
public static final PropertyDirection FACING = HopperBlock.FACING;
private static final AxisAlignedBB BASE_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.625D, 1.0D);
private static final AxisAlignedBB SOUTH_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.125D);
private static final AxisAlignedBB NORTH_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.875D, 1.0D, 1.0D, 1.0D);
@ -43,7 +43,7 @@ public class BlockGratedChute extends BlockContainerImpl {
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World worldIn, BlockPos pos, BlockState state, PlayerEntity playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
if (!playerIn.isSneaking())
return false;
TileEntity tile = worldIn.getTileEntity(pos);
@ -58,12 +58,12 @@ public class BlockGratedChute extends BlockContainerImpl {
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return FULL_BLOCK_AABB;
}
@Override
public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn, boolean isActualState) {
public void addCollisionBoxToList(BlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn, boolean isActualState) {
addCollisionBoxToList(pos, entityBox, collidingBoxes, BASE_AABB);
addCollisionBoxToList(pos, entityBox, collidingBoxes, EAST_AABB);
addCollisionBoxToList(pos, entityBox, collidingBoxes, WEST_AABB);
@ -72,7 +72,7 @@ public class BlockGratedChute extends BlockContainerImpl {
}
@Override
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
public BlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, LivingEntity placer) {
EnumFacing newFacing = facing.getOpposite();
if (newFacing == EnumFacing.UP)
newFacing = EnumFacing.DOWN;
@ -80,38 +80,38 @@ public class BlockGratedChute extends BlockContainerImpl {
}
@Override
public boolean isTopSolid(IBlockState state) {
public boolean isTopSolid(BlockState state) {
return true;
}
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
public EnumBlockRenderType getRenderType(BlockState state) {
return EnumBlockRenderType.MODEL;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
@OnlyIn(Dist.CLIENT)
public boolean shouldSideBeRendered(BlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
return true;
}
@Override
public boolean hasComparatorInputOverride(IBlockState state) {
public boolean hasComparatorInputOverride(BlockState state) {
return true;
}
@Override
public int getComparatorInputOverride(IBlockState blockState, World worldIn, BlockPos pos) {
public int getComparatorInputOverride(BlockState blockState, World worldIn, BlockPos pos) {
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TileEntityGratedChute) {
IItemHandler handler = ((TileEntityGratedChute) tile).getItemHandler(null);
@ -124,28 +124,28 @@ public class BlockGratedChute extends BlockContainerImpl {
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT_MIPPED;
}
@Override
public IBlockState getStateFromMeta(int meta) {
public BlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(FACING, EnumFacing.byIndex(meta));
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
return state.getValue(FACING).getIndex();
}
@Override
public IBlockState withRotation(IBlockState state, Rotation rot) {
public BlockState withRotation(BlockState state, Rotation rot) {
return state.withProperty(FACING, rot.rotate(state.getValue(FACING)));
}
@Override
public IBlockState withMirror(IBlockState state, Mirror mirrorIn) {
public BlockState withMirror(BlockState state, Mirror mirrorIn) {
return state.withRotation(mirrorIn.toRotation(state.getValue(FACING)));
}
@ -155,7 +155,7 @@ public class BlockGratedChute extends BlockContainerImpl {
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, EnumFacing face) {
return face == EnumFacing.UP ? BlockFaceShape.BOWL : BlockFaceShape.UNDEFINED;
}
}

View file

@ -7,8 +7,8 @@ import net.minecraft.block.material.Material;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockHopperUpgrade extends BlockContainerImpl implements IVisualizable {
public BlockHopperUpgrade() {
@ -18,13 +18,13 @@ public class BlockHopperUpgrade extends BlockContainerImpl implements IVisualiza
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return new AxisAlignedBB(pos).grow(7);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0x434f3f;
}

View file

@ -7,8 +7,8 @@ import net.minecraft.block.material.Material;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockMossGenerator extends BlockContainerImpl implements IVisualizable {
public BlockMossGenerator() {
@ -18,13 +18,13 @@ public class BlockMossGenerator extends BlockContainerImpl implements IVisualiza
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return new AxisAlignedBB(pos).grow(2);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0x15702d;
}

View file

@ -6,18 +6,18 @@ import de.ellpeck.naturesaura.blocks.tiles.render.RenderNatureAltar;
import de.ellpeck.naturesaura.reg.ITESRProvider;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockNatureAltar extends BlockContainerImpl implements ITESRProvider {
@ -30,43 +30,43 @@ public class BlockNatureAltar extends BlockContainerImpl implements ITESRProvide
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World worldIn, BlockPos pos, BlockState state, PlayerEntity playerIn, Hand hand, Direction facing, float hitX, float hitY, float hitZ) {
return Helper.putStackOnTile(playerIn, hand, pos, 0, true);
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return BOUND_BOX;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public boolean isSideSolid(IBlockState baseState, IBlockAccess world, BlockPos pos, EnumFacing side) {
return side == EnumFacing.DOWN;
public boolean isSideSolid(BlockState baseState, IBlockAccess world, BlockPos pos, Direction side) {
return side == Direction.DOWN;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
@Override
@SideOnly(Side.CLIENT)
public Tuple<Class, TileEntitySpecialRenderer> getTESR() {
@OnlyIn(Dist.CLIENT)
public Tuple<Class, TileEntityRenderer> getTESR() {
return new Tuple<>(TileEntityNatureAltar.class, new RenderNatureAltar());
}
}

View file

@ -5,7 +5,7 @@ import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.api.render.IVisualizable;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityOakGenerator;
import net.minecraft.block.BlockSapling;
import net.minecraft.block.SaplingBlock;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.util.math.AxisAlignedBB;
@ -13,9 +13,9 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.terraingen.SaplingGrowTreeEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.Random;
@ -34,7 +34,7 @@ public class BlockOakGenerator extends BlockContainerImpl implements IVisualizab
World world = event.getWorld();
BlockPos pos = event.getPos();
if (!world.isRemote && IAuraType.forWorld(world).isSimilar(NaturesAuraAPI.TYPE_OVERWORLD)
&& world.getBlockState(pos).getBlock() instanceof BlockSapling) {
&& world.getBlockState(pos).getBlock() instanceof SaplingBlock) {
Helper.getTileEntitiesInArea(world, pos, 10, tile -> {
if (!(tile instanceof TileEntityOakGenerator))
return false;
@ -57,13 +57,13 @@ public class BlockOakGenerator extends BlockContainerImpl implements IVisualizab
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return new AxisAlignedBB(pos).grow(10);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0x2e7a11;
}

View file

@ -7,18 +7,18 @@ import de.ellpeck.naturesaura.reg.ITESRProvider;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockOfferingTable extends BlockContainerImpl implements ITESRProvider {
@ -31,43 +31,43 @@ public class BlockOfferingTable extends BlockContainerImpl implements ITESRProvi
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World worldIn, BlockPos pos, BlockState state, PlayerEntity playerIn, Hand hand, Direction facing, float hitX, float hitY, float hitZ) {
return Helper.putStackOnTile(playerIn, hand, pos, 0, true);
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return BOUND_BOX;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public boolean isSideSolid(IBlockState baseState, IBlockAccess world, BlockPos pos, EnumFacing side) {
public boolean isSideSolid(BlockState baseState, IBlockAccess world, BlockPos pos, Direction side) {
return false;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
@Override
@SideOnly(Side.CLIENT)
public Tuple<Class, TileEntitySpecialRenderer> getTESR() {
@OnlyIn(Dist.CLIENT)
public Tuple<Class, TileEntityRenderer> getTESR() {
return new Tuple<>(TileEntityOfferingTable.class, new RenderOfferingTable());
}
}

View file

@ -7,17 +7,17 @@ import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockPickupStopper extends BlockContainerImpl implements IVisualizable {
public BlockPickupStopper() {
@ -30,9 +30,9 @@ public class BlockPickupStopper extends BlockContainerImpl implements IVisualiza
@SubscribeEvent
public void onPickup(EntityItemPickupEvent event) {
EntityPlayer player = event.getEntityPlayer();
PlayerEntity player = event.getEntityPlayer();
if (player != null && !player.isSneaking()) {
EntityItem item = event.getItem();
ItemEntity item = event.getItem();
BlockPos pos = item.getPosition();
Helper.getTileEntitiesInArea(item.world, pos, 8, tile -> {
if (!(tile instanceof TileEntityPickupStopper))
@ -56,7 +56,7 @@ public class BlockPickupStopper extends BlockContainerImpl implements IVisualiza
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileEntityPickupStopper) {
@ -68,7 +68,7 @@ public class BlockPickupStopper extends BlockContainerImpl implements IVisualiza
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0xf4aa42;
}

View file

@ -7,8 +7,8 @@ import net.minecraft.block.material.Material;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockPlacer extends BlockContainerImpl implements IVisualizable {
@ -19,13 +19,13 @@ public class BlockPlacer extends BlockContainerImpl implements IVisualizable {
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return new AxisAlignedBB(pos).grow(5);
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0x078a93;
}

View file

@ -4,8 +4,8 @@ import de.ellpeck.naturesaura.blocks.tiles.TileEntityPowderPlacer;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.EnumFacing;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
@ -20,32 +20,32 @@ public class BlockPowderPlacer extends BlockContainerImpl {
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return BOUND_BOX;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public boolean isSideSolid(IBlockState baseState, IBlockAccess world, BlockPos pos, EnumFacing side) {
return side == EnumFacing.DOWN;
public boolean isSideSolid(BlockState baseState, IBlockAccess world, BlockPos pos, Direction side) {
return side == Direction.DOWN;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
}

View file

@ -9,11 +9,11 @@ import de.ellpeck.naturesaura.packet.PacketParticles;
import de.ellpeck.naturesaura.reg.ITESRProvider;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.init.SoundEvents;
import net.minecraft.util.SoundEvents;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
@ -22,9 +22,9 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.RayTraceResult;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.ProjectileImpactEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockProjectileGenerator extends BlockContainerImpl implements ITESRProvider {
public BlockProjectileGenerator() {
@ -70,18 +70,18 @@ public class BlockProjectileGenerator extends BlockContainerImpl implements ITES
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public Tuple<Class, TileEntitySpecialRenderer> getTESR() {
@OnlyIn(Dist.CLIENT)
public Tuple<Class, TileEntityRenderer> getTESR() {
return new Tuple<>(TileEntityProjectileGenerator.class, new RenderProjectileGenerator());
}
}

View file

@ -8,12 +8,12 @@ import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.block.BlockState;
import net.minecraft.item.ItemGroup;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.EnumFacing;
import net.minecraft.item.BlockItem;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
@ -40,7 +40,7 @@ public abstract class BlockSlabsNA extends BlockImpl implements ICustomItemBlock
}
@Override
public CreativeTabs getTabToAdd() {
public ItemGroup getTabToAdd() {
return this.isDouble() ? null : super.getTabToAdd();
}
@ -50,7 +50,7 @@ public abstract class BlockSlabsNA extends BlockImpl implements ICustomItemBlock
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
if (this.isDouble())
return FULL_BLOCK_AABB;
else
@ -58,42 +58,42 @@ public abstract class BlockSlabsNA extends BlockImpl implements ICustomItemBlock
}
@Override
public boolean isTopSolid(IBlockState state) {
public boolean isTopSolid(BlockState state) {
return this.isDouble() || state.getValue(HALF) == EnumBlockHalf.TOP;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
if (this.isDouble())
return BlockFaceShape.SOLID;
else if (face == EnumFacing.UP && state.getValue(HALF) == EnumBlockHalf.TOP)
else if (face == Direction.UP && state.getValue(HALF) == EnumBlockHalf.TOP)
return BlockFaceShape.SOLID;
else
return face == EnumFacing.DOWN && state.getValue(HALF) == EnumBlockHalf.BOTTOM ? BlockFaceShape.SOLID : BlockFaceShape.UNDEFINED;
return face == Direction.DOWN && state.getValue(HALF) == EnumBlockHalf.BOTTOM ? BlockFaceShape.SOLID : BlockFaceShape.UNDEFINED;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return this.isDouble();
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return this.isDouble();
}
@Override
public boolean isFullBlock(IBlockState state) {
public boolean isFullBlock(BlockState state) {
return this.isDouble();
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return this.isDouble();
}
@Override
public boolean doesSideBlockRendering(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing face) {
public boolean doesSideBlockRendering(BlockState state, IBlockAccess world, BlockPos pos, Direction face) {
if (ForgeModContainer.disableStairSlabCulling)
return super.doesSideBlockRendering(state, world, pos, face);
@ -101,16 +101,16 @@ public abstract class BlockSlabsNA extends BlockImpl implements ICustomItemBlock
return true;
EnumBlockHalf side = state.getValue(HALF);
return (side == EnumBlockHalf.TOP && face == EnumFacing.UP) || (side == EnumBlockHalf.BOTTOM && face == EnumFacing.DOWN);
return (side == EnumBlockHalf.TOP && face == Direction.UP) || (side == EnumBlockHalf.BOTTOM && face == Direction.DOWN);
}
@Override
public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) {
public BlockState getStateForPlacement(World worldIn, BlockPos pos, Direction facing, float hitX, float hitY, float hitZ, int meta, LivingEntity placer) {
if (this.isDouble())
return this.getDefaultState();
else {
IBlockState state = this.getStateFromMeta(meta);
return facing != EnumFacing.DOWN && (facing == EnumFacing.UP || (double) hitY <= 0.5D) ?
BlockState state = this.getStateFromMeta(meta);
return facing != Direction.DOWN && (facing == Direction.UP || (double) hitY <= 0.5D) ?
state.withProperty(HALF, EnumBlockHalf.BOTTOM) : state.withProperty(HALF, EnumBlockHalf.TOP);
}
}
@ -121,12 +121,12 @@ public abstract class BlockSlabsNA extends BlockImpl implements ICustomItemBlock
}
@Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) {
public Item getItemDropped(BlockState state, Random rand, int fortune) {
return Item.getItemFromBlock(this.singleSlab.get());
}
@Override
public ItemBlock getItemBlock() {
public BlockItem getItemBlock() {
return new ItemSlabNA(this, this.singleSlab, this.doubleSlab);
}
@ -136,12 +136,12 @@ public abstract class BlockSlabsNA extends BlockImpl implements ICustomItemBlock
}
@Override
public int getMetaFromState(IBlockState state) {
public int getMetaFromState(BlockState state) {
return this.isDouble() ? 0 : (state.getValue(HALF) == EnumBlockHalf.TOP ? 1 : 0);
}
@Override
public IBlockState getStateFromMeta(int meta) {
public BlockState getStateFromMeta(int meta) {
return this.isDouble() ? this.getDefaultState() : this.getDefaultState().withProperty(HALF, meta == 1 ? EnumBlockHalf.TOP : EnumBlockHalf.BOTTOM);
}

View file

@ -9,11 +9,11 @@ import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLiving;
import net.minecraft.block.BlockState;
import net.minecraft.entity.MobEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
@ -21,10 +21,10 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingSpawnEvent;
import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class BlockSpawnLamp extends BlockContainerImpl implements IVisualizable {
@ -56,7 +56,7 @@ public class BlockSpawnLamp extends BlockContainerImpl implements IVisualizable
if (!new AxisAlignedBB(lampPos).grow(range).contains(new Vec3d(pos)))
return false;
EntityLiving entity = (EntityLiving) event.getEntityLiving();
MobEntity entity = (MobEntity) event.getEntityLiving();
if (entity.getCanSpawnHere() && entity.isNotColliding()) {
BlockPos spot = IAuraChunk.getHighestSpot(world, lampPos, 32, lampPos);
IAuraChunk.getAuraChunk(world, spot).drainAura(spot, 200);
@ -71,43 +71,43 @@ public class BlockSpawnLamp extends BlockContainerImpl implements IVisualizable
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return AABB;
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public BlockRenderLayer getRenderLayer() {
return BlockRenderLayer.CUTOUT;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public boolean isSideSolid(IBlockState baseState, IBlockAccess world, BlockPos pos, EnumFacing side) {
public boolean isSideSolid(BlockState baseState, IBlockAccess world, BlockPos pos, Direction side) {
return false;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileEntitySpawnLamp) {
@ -119,7 +119,7 @@ public class BlockSpawnLamp extends BlockContainerImpl implements IVisualizable
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return 0x825ee5;
}

View file

@ -4,19 +4,19 @@ import de.ellpeck.naturesaura.reg.ICreativeItem;
import de.ellpeck.naturesaura.reg.IModItem;
import de.ellpeck.naturesaura.reg.IModelProvider;
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.block.BlockStairs;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.StairsBlock;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
public class BlockStairsNA extends BlockStairs implements IModItem, ICreativeItem, IModelProvider {
public class BlockStairsNA extends StairsBlock implements IModItem, ICreativeItem, IModelProvider {
private final String baseName;
protected BlockStairsNA(String baseName, IBlockState modelState) {
protected BlockStairsNA(String baseName, BlockState modelState) {
super(modelState);
this.baseName = baseName;
ModRegistry.add(this);
@ -45,22 +45,22 @@ public class BlockStairsNA extends BlockStairs implements IModItem, ICreativeIte
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isFullBlock(IBlockState state) {
public boolean isFullBlock(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
}

View file

@ -10,14 +10,14 @@ import de.ellpeck.naturesaura.reg.ITESRProvider;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
@ -25,9 +25,9 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.terraingen.SaplingGrowTreeEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.apache.commons.lang3.mutable.MutableObject;
import java.util.ArrayList;
@ -53,7 +53,7 @@ public class BlockWoodStand extends BlockContainerImpl implements ITESRProvider
BlockPos pos = event.getPos();
if (!world.isRemote) {
if (Multiblocks.TREE_RITUAL.isComplete(world, pos)) {
IBlockState sapling = world.getBlockState(pos);
BlockState sapling = world.getBlockState(pos);
ItemStack saplingStack = sapling.getBlock().getItem(world, pos, sapling);
if (!saplingStack.isEmpty()) {
for (TreeRitualRecipe recipe : NaturesAuraAPI.TREE_RITUAL_RECIPES.values()) {
@ -96,43 +96,43 @@ public class BlockWoodStand extends BlockContainerImpl implements ITESRProvider
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
public boolean onBlockActivated(World worldIn, BlockPos pos, BlockState state, PlayerEntity playerIn, Hand hand, Direction facing, float hitX, float hitY, float hitZ) {
return Helper.putStackOnTile(playerIn, hand, pos, 0, true);
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
public AxisAlignedBB getBoundingBox(BlockState state, IBlockAccess source, BlockPos pos) {
return BOUND_BOX;
}
@Override
public boolean isFullCube(IBlockState state) {
public boolean isFullCube(BlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
public boolean isOpaqueCube(BlockState state) {
return false;
}
@Override
public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) {
public boolean isNormalCube(BlockState state, IBlockAccess world, BlockPos pos) {
return false;
}
@Override
public boolean isSideSolid(IBlockState baseState, IBlockAccess world, BlockPos pos, EnumFacing side) {
public boolean isSideSolid(BlockState baseState, IBlockAccess world, BlockPos pos, Direction side) {
return false;
}
@Override
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) {
public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, BlockState state, BlockPos pos, Direction face) {
return BlockFaceShape.UNDEFINED;
}
@Override
@SideOnly(Side.CLIENT)
public Tuple<Class, TileEntitySpecialRenderer> getTESR() {
@OnlyIn(Dist.CLIENT)
public Tuple<Class, TileEntityRenderer> getTESR() {
return new Tuple<>(TileEntityWoodStand.class, new RenderWoodStand());
}
}

View file

@ -4,7 +4,7 @@ import de.ellpeck.naturesaura.ModConfig;
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.world.DimensionType;
import net.minecraft.world.dimension.DimensionType;
public final class ModBlocks {

View file

@ -5,7 +5,7 @@ import de.ellpeck.naturesaura.api.multiblock.IMultiblock;
import de.ellpeck.naturesaura.api.multiblock.Matcher;
import de.ellpeck.naturesaura.compat.patchouli.PatchouliCompat;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@ -80,8 +80,8 @@ public class Multiblock implements IMultiblock {
continue;
Object value = rawMatchers[i + 1];
if (value instanceof IBlockState) {
IBlockState state = (IBlockState) value;
if (value instanceof BlockState) {
BlockState state = (BlockState) value;
matchers.put(c, new Matcher(state,
(world, start, offset, pos, other, otherC) -> other == state));
} else if (value instanceof Block) {

View file

@ -6,11 +6,11 @@ import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.multiblock.IMultiblock;
import de.ellpeck.naturesaura.api.multiblock.Matcher;
import de.ellpeck.naturesaura.blocks.ModBlocks;
import net.minecraft.block.BlockLog;
import net.minecraft.block.BlockSapling;
import net.minecraft.block.LogBlock;
import net.minecraft.block.SaplingBlock;
import net.minecraft.block.BlockStoneBrick;
import net.minecraft.block.BlockStoneBrick.EnumType;
import net.minecraft.init.Blocks;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
@ -38,7 +38,7 @@ public final class Multiblocks {
'G', ModBlocks.GOLD_POWDER,
'0', new Matcher(Blocks.SAPLING.getDefaultState(),
(world, start, offset, pos, state, c) -> {
if (state.getBlock() instanceof BlockSapling || state.getBlock() instanceof BlockLog)
if (state.getBlock() instanceof SaplingBlock || state.getBlock() instanceof LogBlock)
return true;
// try-catch to prevent blocks that need to have been placed crashing here
try {

View file

@ -3,8 +3,8 @@ package de.ellpeck.naturesaura.blocks.tiles;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.container.IAuraContainer;
import de.ellpeck.naturesaura.api.aura.container.NaturalAuraContainer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Direction;
public class TileEntityAncientLeaves extends TileEntityImpl {
@ -25,19 +25,19 @@ public class TileEntityAncientLeaves extends TileEntityImpl {
};
@Override
public IAuraContainer getAuraContainer(EnumFacing facing) {
public IAuraContainer getAuraContainer(Direction facing) {
return this.container;
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK)
this.container.writeNBT(compound);
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK)
this.container.readNBT(compound);

View file

@ -9,10 +9,10 @@ import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.ITickable;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
@ -60,14 +60,14 @@ public class TileEntityAnimalSpawner extends TileEntityImpl implements ITickable
this.sendToClients();
}
} else {
List<EntityItem> items = this.world.getEntitiesWithinAABB(EntityItem.class,
List<ItemEntity> items = this.world.getEntitiesWithinAABB(ItemEntity.class,
new AxisAlignedBB(this.pos).grow(2));
for (AnimalSpawnerRecipe recipe : NaturesAuraAPI.ANIMAL_SPAWNER_RECIPES.values()) {
if (recipe.ingredients.length != items.size())
continue;
List<Ingredient> required = new ArrayList<>(Arrays.asList(recipe.ingredients));
for (EntityItem item : items) {
for (ItemEntity item : items) {
if (item.isDead || item.cannotPickup())
break;
ItemStack stack = item.getItem();
@ -83,7 +83,7 @@ public class TileEntityAnimalSpawner extends TileEntityImpl implements ITickable
if (!required.isEmpty())
continue;
for (EntityItem item : items) {
for (ItemEntity item : items) {
item.setDead();
PacketHandler.sendToAllAround(this.world, this.pos, 32,
new PacketParticles((float) item.posX, (float) item.posY, (float) item.posZ, 19));
@ -129,7 +129,7 @@ public class TileEntityAnimalSpawner extends TileEntityImpl implements ITickable
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
if (this.currentRecipe != null) {
@ -142,7 +142,7 @@ public class TileEntityAnimalSpawner extends TileEntityImpl implements ITickable
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
if (compound.hasKey("recipe")) {

View file

@ -4,16 +4,16 @@ import de.ellpeck.naturesaura.blocks.BlockAutoCrafter;
import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.block.BlockState;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.CraftingInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.util.EntitySelectors;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EntityPredicates;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.AxisAlignedBB;
@ -22,9 +22,9 @@ import net.minecraft.util.math.BlockPos;
import java.util.List;
public class TileEntityAutoCrafter extends TileEntityImpl implements ITickable {
public final InventoryCrafting crafting = new InventoryCrafting(new Container() {
public final CraftingInventory crafting = new CraftingInventory(new Container() {
@Override
public boolean canInteractWith(EntityPlayer playerIn) {
public boolean canInteractWith(PlayerEntity playerIn) {
return false;
}
}, 3, 3);
@ -39,8 +39,8 @@ public class TileEntityAutoCrafter extends TileEntityImpl implements ITickable {
return;
this.crafting.clear();
IBlockState state = this.world.getBlockState(this.pos);
EnumFacing facing = state.getValue(BlockAutoCrafter.FACING);
BlockState state = this.world.getBlockState(this.pos);
Direction facing = state.getValue(BlockAutoCrafter.FACING);
BlockPos middlePos = this.pos.up();
BlockPos topPos = middlePos.offset(facing, 2);
BlockPos bottomPos = middlePos.offset(facing.getOpposite(), 2);
@ -56,15 +56,15 @@ public class TileEntityAutoCrafter extends TileEntityImpl implements ITickable {
bottomPos.offset(facing.rotateY(), 2)
};
EntityItem[] items = new EntityItem[9];
ItemEntity[] items = new ItemEntity[9];
for (int i = 0; i < poses.length; i++) {
List<EntityItem> entities = this.world.getEntitiesWithinAABB(
EntityItem.class, new AxisAlignedBB(poses[i]).grow(0.25), EntitySelectors.IS_ALIVE);
List<ItemEntity> entities = this.world.getEntitiesWithinAABB(
ItemEntity.class, new AxisAlignedBB(poses[i]).grow(0.25), EntityPredicates.IS_ALIVE);
if (entities.size() > 1)
return;
if (entities.isEmpty())
continue;
EntityItem entity = entities.get(0);
ItemEntity entity = entities.get(0);
if (entity.cannotPickup())
return;
ItemStack stack = entity.getItem();
@ -81,14 +81,14 @@ public class TileEntityAutoCrafter extends TileEntityImpl implements ITickable {
ItemStack result = recipe.getCraftingResult(this.crafting);
if (result.isEmpty())
return;
EntityItem resultItem = new EntityItem(this.world,
ItemEntity resultItem = new ItemEntity(this.world,
this.pos.getX() + 0.5F, this.pos.getY() - 0.35F, this.pos.getZ() + 0.5F, result.copy());
resultItem.motionX = resultItem.motionY = resultItem.motionZ = 0;
this.world.spawnEntity(resultItem);
NonNullList<ItemStack> remainingItems = recipe.getRemainingItems(this.crafting);
for (int i = 0; i < items.length; i++) {
EntityItem item = items[i];
ItemEntity item = items[i];
if (item == null)
continue;
ItemStack stack = item.getItem();
@ -101,7 +101,7 @@ public class TileEntityAutoCrafter extends TileEntityImpl implements ITickable {
ItemStack remain = remainingItems.get(i);
if (!remain.isEmpty()) {
EntityItem remItem = new EntityItem(this.world, item.posX, item.posY, item.posZ, remain.copy());
ItemEntity remItem = new ItemEntity(this.world, item.posX, item.posY, item.posZ, remain.copy());
remItem.motionX = remItem.motionY = remItem.motionZ = 0;
this.world.spawnEntity(remItem);
}

View file

@ -2,7 +2,7 @@ package de.ellpeck.naturesaura.blocks.tiles;
import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos;

View file

@ -6,13 +6,13 @@ import de.ellpeck.naturesaura.api.aura.container.BasicAuraContainer;
import de.ellpeck.naturesaura.api.aura.container.IAuraContainer;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EntitySelectors;
import net.minecraft.util.EnumFacing;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.EntityPredicates;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
@ -54,9 +54,9 @@ public class TileEntityEndFlower extends TileEntityImpl implements ITickable {
return;
if (!this.isDrainMode) {
List<EntityItem> items = this.world.getEntitiesWithinAABB(EntityItem.class,
new AxisAlignedBB(this.pos).grow(1), EntitySelectors.IS_ALIVE);
for (EntityItem item : items) {
List<ItemEntity> items = this.world.getEntitiesWithinAABB(ItemEntity.class,
new AxisAlignedBB(this.pos).grow(1), EntityPredicates.IS_ALIVE);
for (ItemEntity item : items) {
if (item.cannotPickup())
continue;
ItemStack stack = item.getItem();
@ -101,12 +101,12 @@ public class TileEntityEndFlower extends TileEntityImpl implements ITickable {
}
@Override
public IAuraContainer getAuraContainer(EnumFacing facing) {
public IAuraContainer getAuraContainer(Direction facing) {
return this.container;
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
this.container.writeNBT(compound);
@ -115,7 +115,7 @@ public class TileEntityEndFlower extends TileEntityImpl implements ITickable {
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
this.container.readNBT(compound);

View file

@ -4,10 +4,10 @@ import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.misc.IWorldData;
import de.ellpeck.naturesaura.blocks.BlockEnderCrate;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.items.IItemHandlerModifiable;
@ -62,7 +62,7 @@ public class TileEntityEnderCrate extends TileEntityImpl {
public String name;
@Override
public IItemHandlerModifiable getItemHandler(EnumFacing facing) {
public IItemHandlerModifiable getItemHandler(Direction facing) {
if (this.canOpen())
return this.wrappedEnderStorage;
return null;
@ -77,11 +77,11 @@ public class TileEntityEnderCrate extends TileEntityImpl {
}
@Override
public ItemStack getDrop(IBlockState state, int fortune) {
public ItemStack getDrop(BlockState state, int fortune) {
ItemStack drop = super.getDrop(state, fortune);
if (this.name != null) {
if (!drop.hasTagCompound())
drop.setTagCompound(new NBTTagCompound());
drop.setTagCompound(new CompoundNBT());
drop.getTagCompound().setString(NaturesAura.MOD_ID + ":ender_name", this.name);
}
return drop;
@ -98,7 +98,7 @@ public class TileEntityEnderCrate extends TileEntityImpl {
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
if (this.name != null)
@ -107,7 +107,7 @@ public class TileEntityEnderCrate extends TileEntityImpl {
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
if (compound.hasKey("name"))

View file

@ -8,18 +8,18 @@ import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticleStream;
import net.minecraft.block.Block;
import net.minecraft.block.BlockLiquid;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.item.ItemShears;
import net.minecraft.block.BlockState;
import net.minecraft.entity.item.ItemFrameEntity;
import net.minecraft.item.ShearsItem;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ITickable;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.WorldServer;
import net.minecraft.world.ServerWorld;
import net.minecraftforge.common.IShearable;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.FakePlayer;
@ -111,13 +111,13 @@ public class TileEntityFieldCreator extends TileEntityImpl implements ITickable
if (pos.equals(this.pos) || pos.equals(connectedPos))
continue;
IBlockState state = this.world.getBlockState(pos);
BlockState state = this.world.getBlockState(pos);
Block block = state.getBlock();
if (!block.isAir(state, this.world, pos)
&& !(block instanceof BlockLiquid) && !(block instanceof IFluidBlock)
&& state.getBlockHardness(this.world, pos) >= 0F) {
FakePlayer fake = FakePlayerFactory.getMinecraft((WorldServer) this.world);
FakePlayer fake = FakePlayerFactory.getMinecraft((ServerWorld) this.world);
if (!MinecraftForge.EVENT_BUS.post(new BlockEvent.BreakEvent(this.world, pos, state, fake))) {
boolean shearBlock = shears && block instanceof IShearable;
List<ItemStack> drops;
@ -143,10 +143,10 @@ public class TileEntityFieldCreator extends TileEntityImpl implements ITickable
}
public boolean shears() {
List<EntityItemFrame> frames = Helper.getAttachedItemFrames(this.world, this.pos);
for (EntityItemFrame frame : frames) {
List<ItemFrameEntity> frames = Helper.getAttachedItemFrames(this.world, this.pos);
for (ItemFrameEntity frame : frames) {
ItemStack stack = frame.getDisplayedItem();
if (!stack.isEmpty() && stack.getItem() instanceof ItemShears)
if (!stack.isEmpty() && stack.getItem() instanceof ShearsItem)
return true;
}
return false;
@ -179,7 +179,7 @@ public class TileEntityFieldCreator extends TileEntityImpl implements ITickable
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
if (this.connectionOffset != null)
@ -193,7 +193,7 @@ public class TileEntityFieldCreator extends TileEntityImpl implements ITickable
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
if (compound.hasKey("connection"))

View file

@ -4,14 +4,14 @@ import com.google.common.primitives.Ints;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.entity.item.EntityFireworkRocket;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.Items;
import net.minecraft.entity.item.FireworkRocketEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.item.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.EntitySelectors;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.util.EntityPredicates;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
@ -24,7 +24,7 @@ import java.util.Set;
public class TileEntityFireworkGenerator extends TileEntityImpl implements ITickable {
private EntityFireworkRocket trackedEntity;
private FireworkRocketEntity trackedEntity;
private ItemStack trackedItem;
private int toRelease;
private int releaseTimer;
@ -33,16 +33,16 @@ public class TileEntityFireworkGenerator extends TileEntityImpl implements ITick
public void update() {
if (!this.world.isRemote) {
if (this.world.getTotalWorldTime() % 10 == 0) {
List<EntityItem> items = this.world.getEntitiesWithinAABB(EntityItem.class,
new AxisAlignedBB(this.pos).grow(4), EntitySelectors.IS_ALIVE);
for (EntityItem item : items) {
List<ItemEntity> items = this.world.getEntitiesWithinAABB(ItemEntity.class,
new AxisAlignedBB(this.pos).grow(4), EntityPredicates.IS_ALIVE);
for (ItemEntity item : items) {
if (item.cannotPickup())
continue;
ItemStack stack = item.getItem();
if (stack.isEmpty() || stack.getItem() != Items.FIREWORKS)
continue;
if (this.trackedEntity == null && this.releaseTimer <= 0) {
EntityFireworkRocket entity = new EntityFireworkRocket(this.world, item.posX, item.posY, item.posZ, stack);
FireworkRocketEntity entity = new FireworkRocketEntity(this.world, item.posX, item.posY, item.posZ, stack);
this.trackedEntity = entity;
this.trackedItem = stack.copy();
this.world.spawnEntity(entity);
@ -60,16 +60,16 @@ public class TileEntityFireworkGenerator extends TileEntityImpl implements ITick
float generateFactor = 0;
Set<Integer> usedColors = new HashSet<>();
NBTTagCompound compound = this.trackedItem.getTagCompound();
NBTTagCompound fireworks = compound.getCompoundTag("Fireworks");
CompoundNBT compound = this.trackedItem.getTagCompound();
CompoundNBT fireworks = compound.getCompoundTag("Fireworks");
int flightTime = fireworks.getInteger("Flight");
NBTTagList explosions = fireworks.getTagList("Explosions", 10);
ListNBT explosions = fireworks.getTagList("Explosions", 10);
if (!explosions.isEmpty()) {
generateFactor += flightTime;
for (NBTBase base : explosions) {
NBTTagCompound explosion = (NBTTagCompound) base;
CompoundNBT explosion = (CompoundNBT) base;
generateFactor += 1.5F;
boolean flicker = explosion.getBoolean("Flicker");

View file

@ -8,10 +8,10 @@ import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticleStream;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.util.ITickable;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
@ -25,7 +25,7 @@ import java.util.Map;
public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickable {
private final Map<IBlockState, MutableInt> consumedRecently = new HashMap<>();
private final Map<BlockState, MutableInt> consumedRecently = new HashMap<>();
@Override
public void update() {
@ -36,7 +36,7 @@ public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickab
for (int y = -1; y <= 1; y++) {
for (int z = -range; z <= range; z++) {
BlockPos offset = this.pos.add(x, y, z);
IBlockState state = this.world.getBlockState(offset);
BlockState state = this.world.getBlockState(offset);
if (NaturesAuraAPI.FLOWERS.contains(state)) {
possible.add(offset);
}
@ -48,7 +48,7 @@ public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickab
return;
BlockPos pos = possible.get(this.world.rand.nextInt(possible.size()));
IBlockState state = this.world.getBlockState(pos);
BlockState state = this.world.getBlockState(pos);
MutableInt curr = this.consumedRecently.computeIfAbsent(state, s -> new MutableInt());
int addAmount = 25000;
@ -64,7 +64,7 @@ public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickab
toAdd = 0;
}
for (Map.Entry<IBlockState, MutableInt> entry : this.consumedRecently.entrySet()) {
for (Map.Entry<BlockState, MutableInt> entry : this.consumedRecently.entrySet()) {
if (entry.getKey() != state) {
MutableInt val = entry.getValue();
if (val.getValue() > 0)
@ -99,16 +99,16 @@ public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickab
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.SYNC && !this.consumedRecently.isEmpty()) {
NBTTagList list = new NBTTagList();
for (Map.Entry<IBlockState, MutableInt> entry : this.consumedRecently.entrySet()) {
IBlockState state = entry.getKey();
ListNBT list = new ListNBT();
for (Map.Entry<BlockState, MutableInt> entry : this.consumedRecently.entrySet()) {
BlockState state = entry.getKey();
Block block = state.getBlock();
NBTTagCompound tag = new NBTTagCompound();
CompoundNBT tag = new CompoundNBT();
tag.setString("block", block.getRegistryName().toString());
tag.setInteger("meta", block.getMetaFromState(state));
tag.setInteger("amount", entry.getValue().intValue());
@ -119,19 +119,19 @@ public class TileEntityFlowerGenerator extends TileEntityImpl implements ITickab
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.SYNC) {
this.consumedRecently.clear();
NBTTagList list = compound.getTagList("consumed_recently", 10);
ListNBT list = compound.getTagList("consumed_recently", 10);
for (NBTBase base : list) {
NBTTagCompound tag = (NBTTagCompound) base;
CompoundNBT tag = (CompoundNBT) base;
Block block = ForgeRegistries.BLOCKS.getValue(new ResourceLocation(tag.getString("block")));
if (block != null) {
IBlockState state = block.getStateFromMeta(tag.getInteger("meta"));
BlockState state = block.getStateFromMeta(tag.getInteger("meta"));
this.consumedRecently.put(state, new MutableInt(tag.getInteger("amount")));
}
}

View file

@ -6,13 +6,13 @@ import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.blocks.BlockFurnaceHeater;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticleStream;
import net.minecraft.block.BlockFurnace;
import net.minecraft.block.FurnaceBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityFurnace;
import net.minecraft.util.EnumFacing;
import net.minecraft.tileentity.FurnaceTileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
@ -26,15 +26,15 @@ public class TileEntityFurnaceHeater extends TileEntityImpl implements ITickable
if (!this.world.isRemote && this.world.getTotalWorldTime() % 5 == 0) {
boolean did = false;
EnumFacing facing = this.world.getBlockState(this.pos).getValue(BlockFurnaceHeater.FACING);
Direction facing = this.world.getBlockState(this.pos).getValue(BlockFurnaceHeater.FACING);
BlockPos tilePos = this.pos.offset(facing.getOpposite());
TileEntity tile = this.world.getTileEntity(tilePos);
if (tile instanceof TileEntityFurnace) {
TileEntityFurnace furnace = (TileEntityFurnace) tile;
if (tile instanceof FurnaceTileEntity) {
FurnaceTileEntity furnace = (FurnaceTileEntity) tile;
if (isReady(furnace)) {
int time = furnace.getField(0);
if (time <= 0)
BlockFurnace.setState(true, this.world, furnace.getPos());
FurnaceBlock.setState(true, this.world, furnace.getPos());
furnace.setField(0, 200);
//if set higher than 199, it'll never finish because the furnace does ++ and then ==
furnace.setField(2, Math.min(199, furnace.getField(2) + 5));
@ -65,7 +65,7 @@ public class TileEntityFurnaceHeater extends TileEntityImpl implements ITickable
}
}
private static boolean isReady(TileEntityFurnace furnace) {
private static boolean isReady(FurnaceTileEntity furnace) {
if (!furnace.getStackInSlot(1).isEmpty())
return false;
@ -83,7 +83,7 @@ public class TileEntityFurnaceHeater extends TileEntityImpl implements ITickable
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type == SaveType.SYNC)
@ -91,7 +91,7 @@ public class TileEntityFurnaceHeater extends TileEntityImpl implements ITickable
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type == SaveType.SYNC)

View file

@ -1,13 +1,13 @@
package de.ellpeck.naturesaura.blocks.tiles;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class TileEntityGeneratorLimitRemover extends TileEntityImpl {
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getRenderBoundingBox() {
return new AxisAlignedBB(this.pos, this.pos.add(1, 2, 1));
}

View file

@ -2,13 +2,13 @@ package de.ellpeck.naturesaura.blocks.tiles;
import de.ellpeck.naturesaura.Helper;
import de.ellpeck.naturesaura.blocks.BlockGratedChute;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.block.BlockState;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.item.ItemFrameEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.items.CapabilityItemHandler;
@ -44,8 +44,8 @@ public class TileEntityGratedChute extends TileEntityImpl implements ITickable {
ItemStack curr = this.items.getStackInSlot(0);
push:
if (!curr.isEmpty()) {
IBlockState state = this.world.getBlockState(this.pos);
EnumFacing facing = state.getValue(BlockGratedChute.FACING);
BlockState state = this.world.getBlockState(this.pos);
Direction facing = state.getValue(BlockGratedChute.FACING);
TileEntity tile = this.world.getTileEntity(this.pos.offset(facing));
if (tile == null || !tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY,
facing.getOpposite()))
@ -67,10 +67,10 @@ public class TileEntityGratedChute extends TileEntityImpl implements ITickable {
}
pull:
if (curr.isEmpty() || curr.getCount() < curr.getMaxStackSize()) {
List<EntityItem> items = this.world.getEntitiesWithinAABB(EntityItem.class, new AxisAlignedBB(
List<ItemEntity> items = this.world.getEntitiesWithinAABB(ItemEntity.class, new AxisAlignedBB(
this.pos.getX(), this.pos.getY() + 0.5, this.pos.getZ(),
this.pos.getX() + 1, this.pos.getY() + 2, this.pos.getZ() + 1));
for (EntityItem item : items) {
for (ItemEntity item : items) {
if (item.isDead)
continue;
ItemStack stack = item.getItem();
@ -87,9 +87,9 @@ public class TileEntityGratedChute extends TileEntityImpl implements ITickable {
}
TileEntity tileUp = this.world.getTileEntity(this.pos.up());
if (tileUp == null || !tileUp.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.DOWN))
if (tileUp == null || !tileUp.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.DOWN))
break pull;
IItemHandler handlerUp = tileUp.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.DOWN);
IItemHandler handlerUp = tileUp.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.DOWN);
if (handlerUp == null)
break pull;
for (int i = 0; i < handlerUp.getSlots(); i++) {
@ -109,10 +109,10 @@ public class TileEntityGratedChute extends TileEntityImpl implements ITickable {
}
private boolean isItemInFrame(ItemStack stack) {
List<EntityItemFrame> frames = Helper.getAttachedItemFrames(this.world, this.pos);
List<ItemFrameEntity> frames = Helper.getAttachedItemFrames(this.world, this.pos);
if (frames.isEmpty())
return false;
for (EntityItemFrame frame : frames) {
for (ItemFrameEntity frame : frames) {
ItemStack frameStack = frame.getDisplayedItem();
if (Helper.areItemsEqual(stack, frameStack, true)) {
return true;
@ -122,7 +122,7 @@ public class TileEntityGratedChute extends TileEntityImpl implements ITickable {
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
compound.setInteger("cooldown", this.cooldown);
@ -132,7 +132,7 @@ public class TileEntityGratedChute extends TileEntityImpl implements ITickable {
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
this.cooldown = compound.getInteger("cooldown");
@ -142,7 +142,7 @@ public class TileEntityGratedChute extends TileEntityImpl implements ITickable {
}
@Override
public IItemHandlerModifiable getItemHandler(EnumFacing facing) {
public IItemHandlerModifiable getItemHandler(Direction facing) {
return this.items;
}
}

View file

@ -3,12 +3,12 @@ package de.ellpeck.naturesaura.blocks.tiles;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.BlockHopper;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.block.HopperBlock;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityHopper;
import net.minecraft.util.EnumFacing;
import net.minecraft.tileentity.HopperTileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
@ -26,18 +26,18 @@ public class TileEntityHopperUpgrade extends TileEntityImpl implements ITickable
TileEntity tile = this.world.getTileEntity(this.pos.down());
if (!isValidHopper(tile))
return;
if (!tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP))
if (!tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.UP))
return;
IItemHandler handler = tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP);
IItemHandler handler = tile.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.UP);
if (handler == null)
return;
List<EntityItem> items = this.world.getEntitiesWithinAABB(EntityItem.class,
List<ItemEntity> items = this.world.getEntitiesWithinAABB(ItemEntity.class,
new AxisAlignedBB(this.pos).grow(7));
if (items.isEmpty())
return;
for (EntityItem item : items) {
for (ItemEntity item : items) {
if (item.isDead || item.cannotPickup())
continue;
ItemStack stack = item.getItem();
@ -68,8 +68,8 @@ public class TileEntityHopperUpgrade extends TileEntityImpl implements ITickable
}
private static boolean isValidHopper(TileEntity tile) {
if (tile instanceof TileEntityHopper)
return BlockHopper.isEnabled(tile.getBlockMetadata());
if (tile instanceof HopperTileEntity)
return HopperBlock.isEnabled(tile.getBlockMetadata());
if (tile instanceof TileEntityGratedChute)
return ((TileEntityGratedChute) tile).redstonePower <= 0;
return false;

View file

@ -5,18 +5,18 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.container.IAuraContainer;
import de.ellpeck.naturesaura.blocks.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.block.BlockState;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.network.play.server.SUpdateTileEntityPacket;
import net.minecraft.server.management.PlayerChunkMapEntry;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraft.world.ServerWorld;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
@ -29,29 +29,29 @@ public class TileEntityImpl extends TileEntity {
public int redstonePower;
@Override
public boolean shouldRefresh(World world, BlockPos pos, IBlockState oldState, IBlockState newState) {
public boolean shouldRefresh(World world, BlockPos pos, BlockState oldState, BlockState newState) {
return oldState.getBlock() != newState.getBlock();
}
@Override
public NBTTagCompound writeToNBT(NBTTagCompound compound) {
public CompoundNBT writeToNBT(CompoundNBT compound) {
this.writeNBT(compound, SaveType.TILE);
return compound;
}
@Override
public void readFromNBT(NBTTagCompound compound) {
public void readFromNBT(CompoundNBT compound) {
this.readNBT(compound, SaveType.TILE);
}
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
if (type != SaveType.BLOCK) {
super.writeToNBT(compound);
compound.setInteger("redstone", this.redstonePower);
}
}
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
if (type != SaveType.BLOCK) {
super.readFromNBT(compound);
this.redstonePower = compound.getInteger("redstone");
@ -63,48 +63,48 @@ public class TileEntityImpl extends TileEntity {
}
@Override
public final SPacketUpdateTileEntity getUpdatePacket() {
NBTTagCompound compound = new NBTTagCompound();
public final SUpdateTileEntityPacket getUpdatePacket() {
CompoundNBT compound = new CompoundNBT();
this.writeNBT(compound, SaveType.SYNC);
return new SPacketUpdateTileEntity(this.pos, 0, compound);
return new SUpdateTileEntityPacket(this.pos, 0, compound);
}
@Override
public final NBTTagCompound getUpdateTag() {
NBTTagCompound compound = new NBTTagCompound();
public final CompoundNBT getUpdateTag() {
CompoundNBT compound = new CompoundNBT();
this.writeNBT(compound, SaveType.SYNC);
return compound;
}
@Override
public void handleUpdateTag(NBTTagCompound tag) {
public void handleUpdateTag(CompoundNBT tag) {
this.readNBT(tag, SaveType.SYNC);
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) {
public void onDataPacket(NetworkManager net, SUpdateTileEntityPacket packet) {
super.onDataPacket(net, packet);
this.readNBT(packet.getNbtCompound(), SaveType.SYNC);
}
public void sendToClients() {
WorldServer world = (WorldServer) this.getWorld();
ServerWorld world = (ServerWorld) this.getWorld();
PlayerChunkMapEntry entry = world.getPlayerChunkMap().getEntry(this.getPos().getX() >> 4, this.getPos().getZ() >> 4);
if (entry != null) {
entry.sendPacket(this.getUpdatePacket());
}
}
public IItemHandlerModifiable getItemHandler(EnumFacing facing) {
public IItemHandlerModifiable getItemHandler(Direction facing) {
return null;
}
public IAuraContainer getAuraContainer(EnumFacing facing) {
public IAuraContainer getAuraContainer(Direction facing) {
return null;
}
@Override
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
public boolean hasCapability(Capability<?> capability, @Nullable Direction facing) {
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
return this.getItemHandler(facing) != null;
} else if (capability == NaturesAuraAPI.capAuraContainer) {
@ -116,7 +116,7 @@ public class TileEntityImpl extends TileEntity {
@Nullable
@Override
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
public <T> T getCapability(Capability<T> capability, @Nullable Direction facing) {
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
return (T) this.getItemHandler(facing);
} else if (capability == NaturesAuraAPI.capAuraContainer) {
@ -132,7 +132,7 @@ public class TileEntityImpl extends TileEntity {
for (int i = 0; i < handler.getSlots(); i++) {
ItemStack stack = handler.getStackInSlot(i);
if (!stack.isEmpty()) {
EntityItem item = new EntityItem(this.world,
ItemEntity item = new ItemEntity(this.world,
this.pos.getX() + 0.5, this.pos.getY() + 0.5, this.pos.getZ() + 0.5,
stack);
this.world.spawnEntity(item);
@ -141,18 +141,18 @@ public class TileEntityImpl extends TileEntity {
}
}
public ItemStack getDrop(IBlockState state, int fortune) {
public ItemStack getDrop(BlockState state, int fortune) {
Block block = state.getBlock();
ItemStack stack = new ItemStack(
block.getItemDropped(state, this.world.rand, fortune),
block.quantityDropped(state, fortune, this.world.rand),
block.damageDropped(state));
NBTTagCompound compound = new NBTTagCompound();
CompoundNBT compound = new CompoundNBT();
this.writeNBT(compound, SaveType.BLOCK);
if (!compound.isEmpty()) {
stack.setTagCompound(new NBTTagCompound());
stack.setTagCompound(new CompoundNBT());
stack.getTagCompound().setTag("data", compound);
}
@ -161,7 +161,7 @@ public class TileEntityImpl extends TileEntity {
public void loadDataOnPlace(ItemStack stack) {
if (stack.hasTagCompound()) {
NBTTagCompound compound = stack.getTagCompound().getCompoundTag("data");
CompoundNBT compound = stack.getTagCompound().getCompoundTag("data");
if (compound != null)
this.readNBT(compound, SaveType.BLOCK);
}
@ -169,7 +169,7 @@ public class TileEntityImpl extends TileEntity {
public boolean canGenerateRightNow(int range, int toAdd) {
if (this.wantsLimitRemover()) {
IBlockState below = this.world.getBlockState(this.pos.down());
BlockState below = this.world.getBlockState(this.pos.down());
if (below.getBlock() == ModBlocks.GENERATOR_LIMIT_REMOVER)
return true;
}

View file

@ -5,7 +5,7 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
@ -26,7 +26,7 @@ public class TileEntityMossGenerator extends TileEntityImpl implements ITickable
for (int y = -range; y <= range; y++)
for (int z = -range; z <= range; z++) {
BlockPos offset = this.pos.add(x, y, z);
IBlockState state = this.world.getBlockState(offset);
BlockState state = this.world.getBlockState(offset);
if (NaturesAuraAPI.BOTANIST_PICKAXE_CONVERSIONS.inverse().containsKey(state))
possibleOffsets.add(offset);
}
@ -34,8 +34,8 @@ public class TileEntityMossGenerator extends TileEntityImpl implements ITickable
if (possibleOffsets.isEmpty())
return;
BlockPos offset = possibleOffsets.get(this.world.rand.nextInt(possibleOffsets.size()));
IBlockState state = this.world.getBlockState(offset);
IBlockState result = NaturesAuraAPI.BOTANIST_PICKAXE_CONVERSIONS.inverse().get(state);
BlockState state = this.world.getBlockState(offset);
BlockState result = NaturesAuraAPI.BOTANIST_PICKAXE_CONVERSIONS.inverse().get(state);
int toAdd = 7500;
if (this.canGenerateRightNow(35, toAdd)) {

View file

@ -10,19 +10,19 @@ import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticleStream;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.SoundEvents;
import net.minecraft.block.BlockState;
import net.minecraft.util.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.ItemStackHandler;
@ -50,7 +50,7 @@ public class TileEntityNatureAltar extends TileEntityImpl implements ITickable {
}
};
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int bobTimer;
private final BasicAuraContainer container = new BasicAuraContainer(NaturesAuraAPI.TYPE_OVERWORLD, 500000);
@ -71,7 +71,7 @@ public class TileEntityNatureAltar extends TileEntityImpl implements ITickable {
for (int x = -2; x <= 2; x += 4) {
for (int z = -2; z <= 2; z += 4) {
BlockPos offset = this.pos.add(x, 1, z);
IBlockState state = this.world.getBlockState(offset);
BlockState state = this.world.getBlockState(offset);
this.catalysts[index] = state.getBlock().getItem(this.world, offset, state);
index++;
}
@ -206,7 +206,7 @@ public class TileEntityNatureAltar extends TileEntityImpl implements ITickable {
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
compound.setTag("items", this.items.serializeNBT());
@ -222,7 +222,7 @@ public class TileEntityNatureAltar extends TileEntityImpl implements ITickable {
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
this.items.deserializeNBT(compound.getCompoundTag("items"));
@ -238,12 +238,12 @@ public class TileEntityNatureAltar extends TileEntityImpl implements ITickable {
}
@Override
public IAuraContainer getAuraContainer(EnumFacing facing) {
public IAuraContainer getAuraContainer(Direction facing) {
return this.container;
}
@Override
public IItemHandlerModifiable getItemHandler(EnumFacing facing) {
public IItemHandlerModifiable getItemHandler(Direction facing) {
return this.items;
}
}

View file

@ -3,7 +3,7 @@ package de.ellpeck.naturesaura.blocks.tiles;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.BlockLog;
import net.minecraft.block.LogBlock;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
@ -19,7 +19,7 @@ public class TileEntityOakGenerator extends TileEntityImpl implements ITickable
if (!this.world.isRemote)
while (!this.scheduledBigTrees.isEmpty()) {
BlockPos pos = this.scheduledBigTrees.remove();
if (this.world.getBlockState(pos).getBlock() instanceof BlockLog) {
if (this.world.getBlockState(pos).getBlock() instanceof LogBlock) {
int toAdd = 100000;
boolean canGen = this.canGenerateRightNow(25, toAdd);
if (canGen)

View file

@ -6,13 +6,13 @@ import de.ellpeck.naturesaura.api.recipes.OfferingRecipe;
import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.effect.LightningBoltEntity;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.EnumFacing;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.items.IItemHandlerModifiable;
@ -42,7 +42,7 @@ public class TileEntityOfferingTable extends TileEntityImpl implements ITickable
if (stack.isEmpty())
return;
List<EntityItem> items = this.world.getEntitiesWithinAABB(EntityItem.class, new AxisAlignedBB(this.pos).grow(1));
List<ItemEntity> items = this.world.getEntitiesWithinAABB(ItemEntity.class, new AxisAlignedBB(this.pos).grow(1));
if (items.isEmpty())
return;
@ -50,7 +50,7 @@ public class TileEntityOfferingTable extends TileEntityImpl implements ITickable
if (recipe == null)
return;
for (EntityItem item : items) {
for (ItemEntity item : items) {
if (item.isDead || item.cannotPickup())
continue;
@ -70,7 +70,7 @@ public class TileEntityOfferingTable extends TileEntityImpl implements ITickable
for (int i = 0; i < recipeCount; i++)
this.itemsToSpawn.add(recipe.output.copy());
this.world.addWeatherEffect(new EntityLightningBolt(this.world, this.pos.getX(), this.pos.getY(), this.pos.getZ(), true));
this.world.addWeatherEffect(new LightningBoltEntity(this.world, this.pos.getX(), this.pos.getY(), this.pos.getZ(), true));
PacketHandler.sendToAllAround(this.world, this.pos, 32, new PacketParticles(
(float) item.posX, (float) item.posY, (float) item.posZ, 13,
this.pos.getX(), this.pos.getY(), this.pos.getZ()));
@ -79,7 +79,7 @@ public class TileEntityOfferingTable extends TileEntityImpl implements ITickable
}
} else if (this.world.getTotalWorldTime() % 3 == 0) {
if (!this.itemsToSpawn.isEmpty())
this.world.spawnEntity(new EntityItem(
this.world.spawnEntity(new ItemEntity(
this.world,
this.pos.getX() + 0.5F, 256, this.pos.getZ() + 0.5F,
this.itemsToSpawn.remove()));
@ -95,13 +95,13 @@ public class TileEntityOfferingTable extends TileEntityImpl implements ITickable
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
compound.setTag("items", this.items.serializeNBT());
if (type != SaveType.SYNC) {
NBTTagList list = new NBTTagList();
ListNBT list = new ListNBT();
for (ItemStack stack : this.itemsToSpawn) {
list.appendTag(stack.serializeNBT());
}
@ -111,23 +111,23 @@ public class TileEntityOfferingTable extends TileEntityImpl implements ITickable
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
this.items.deserializeNBT(compound.getCompoundTag("items"));
if (type != SaveType.SYNC) {
this.itemsToSpawn.clear();
NBTTagList list = compound.getTagList("items_to_spawn", 10);
ListNBT list = compound.getTagList("items_to_spawn", 10);
for (NBTBase base : list) {
this.itemsToSpawn.add(new ItemStack((NBTTagCompound) base));
this.itemsToSpawn.add(new ItemStack((CompoundNBT) base));
}
}
}
}
@Override
public IItemHandlerModifiable getItemHandler(EnumFacing facing) {
public IItemHandlerModifiable getItemHandler(Direction facing) {
return this.items;
}
}

View file

@ -6,18 +6,18 @@ import de.ellpeck.naturesaura.blocks.ModBlocks;
import de.ellpeck.naturesaura.items.ModItems;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.block.BlockState;
import net.minecraft.entity.item.ItemFrameEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.WorldServer;
import net.minecraft.world.ServerWorld;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.FakePlayerFactory;
@ -35,12 +35,12 @@ public class TileEntityPlacer extends TileEntityImpl implements ITickable {
if (this.redstonePower > 0)
return;
TileEntity tileUp = this.world.getTileEntity(this.pos.up());
if (tileUp == null || !tileUp.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.DOWN))
if (tileUp == null || !tileUp.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.DOWN))
return;
IItemHandler handler = tileUp.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.DOWN);
IItemHandler handler = tileUp.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, Direction.DOWN);
if (handler == null)
return;
List<EntityItemFrame> frames = Helper.getAttachedItemFrames(this.world, this.pos);
List<ItemFrameEntity> frames = Helper.getAttachedItemFrames(this.world, this.pos);
if (frames.isEmpty())
return;
@ -54,7 +54,7 @@ public class TileEntityPlacer extends TileEntityImpl implements ITickable {
continue;
BlockPos up = pos.up();
IBlockState state = this.world.getBlockState(up);
BlockState state = this.world.getBlockState(up);
if (state.getBlock().isReplaceable(this.world, up))
validPositions.add(up);
}
@ -82,12 +82,12 @@ public class TileEntityPlacer extends TileEntityImpl implements ITickable {
}
}
private boolean framesContain(List<EntityItemFrame> frames, BlockPos pos, IBlockState state) {
private boolean framesContain(List<ItemFrameEntity> frames, BlockPos pos, BlockState state) {
ItemStack stack = state.getBlock().getItem(this.world, pos, state);
if (stack.isEmpty())
return false;
for (EntityItemFrame frame : frames) {
for (ItemFrameEntity frame : frames) {
ItemStack frameStack = frame.getDisplayedItem();
if (frameStack.isEmpty())
continue;
@ -104,13 +104,13 @@ public class TileEntityPlacer extends TileEntityImpl implements ITickable {
if (this.handleSpecialCases(stack, pos))
return stack;
if (!(this.world instanceof WorldServer))
if (!(this.world instanceof ServerWorld))
return stack;
FakePlayer fake = FakePlayerFactory.getMinecraft((WorldServer) this.world);
FakePlayer fake = FakePlayerFactory.getMinecraft((ServerWorld) this.world);
fake.inventory.mainInventory.set(fake.inventory.currentItem, stack);
fake.interactionManager.processRightClickBlock(fake, this.world, fake.getHeldItemMainhand(), EnumHand.MAIN_HAND,
pos, EnumFacing.DOWN, 0.5F, 0.5F, 0.5F);
fake.interactionManager.processRightClickBlock(fake, this.world, fake.getHeldItemMainhand(), Hand.MAIN_HAND,
pos, Direction.DOWN, 0.5F, 0.5F, 0.5F);
return fake.getHeldItemMainhand().copy();
}
@ -127,10 +127,10 @@ public class TileEntityPlacer extends TileEntityImpl implements ITickable {
return false;
else if (stack.getItem() instanceof IPlantable) {
IPlantable plantable = (IPlantable) stack.getItem();
IBlockState plant = plantable.getPlant(this.world, pos);
BlockState plant = plantable.getPlant(this.world, pos);
if (!plant.getBlock().canPlaceBlockAt(this.world, pos))
return false;
IBlockState state = this.world.getBlockState(pos);
BlockState state = this.world.getBlockState(pos);
if (!state.getBlock().isAir(state, this.world, pos))
return false;
this.world.setBlockState(pos, plant);

View file

@ -4,10 +4,10 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.entity.EntityAreaEffectCloud;
import net.minecraft.entity.AreaEffectCloudEntity;
import net.minecraft.potion.Effect;
import net.minecraft.potion.EffectInstance;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.potion.PotionType;
import net.minecraft.potion.PotionUtils;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.AxisAlignedBB;
@ -24,18 +24,18 @@ public class TileEntityPotionGenerator extends TileEntityImpl implements ITickab
if (Multiblocks.POTION_GENERATOR.isComplete(this.world, this.pos)) {
boolean addedOne = false;
List<EntityAreaEffectCloud> clouds = this.world.getEntitiesWithinAABB(EntityAreaEffectCloud.class, new AxisAlignedBB(this.pos).grow(2));
for (EntityAreaEffectCloud cloud : clouds) {
List<AreaEffectCloudEntity> clouds = this.world.getEntitiesWithinAABB(AreaEffectCloudEntity.class, new AxisAlignedBB(this.pos).grow(2));
for (AreaEffectCloudEntity cloud : clouds) {
if (cloud.isDead)
continue;
if (!addedOne) {
PotionType type = ReflectionHelper.getPrivateValue(EntityAreaEffectCloud.class, cloud, "field_184502_e", "potion");
Potion type = ReflectionHelper.getPrivateValue(AreaEffectCloudEntity.class, cloud, "field_184502_e", "potion");
if (type == null)
continue;
for (PotionEffect effect : type.getEffects()) {
Potion potion = effect.getPotion();
for (EffectInstance effect : type.getEffects()) {
Effect potion = effect.getPotion();
if (potion.isBadEffect() || potion.isInstant()) {
continue;
}

View file

@ -4,8 +4,8 @@ import de.ellpeck.naturesaura.entities.EntityEffectInhibitor;
import de.ellpeck.naturesaura.items.ModItems;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EntitySelectors;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EntityPredicates;
import net.minecraft.util.Direction;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraftforge.items.CapabilityItemHandler;
import net.minecraftforge.items.IItemHandler;
@ -18,8 +18,8 @@ public class TileEntityPowderPlacer extends TileEntityImpl {
public void onRedstonePowerChange(int newPower) {
if (this.redstonePower <= 0 && newPower > 0) {
List<EntityEffectInhibitor> powders = this.world.getEntitiesWithinAABB(EntityEffectInhibitor.class,
new AxisAlignedBB(this.pos, this.pos.add(1, 2, 1)), EntitySelectors.IS_ALIVE);
for (EnumFacing facing : EnumFacing.HORIZONTALS) {
new AxisAlignedBB(this.pos, this.pos.add(1, 2, 1)), EntityPredicates.IS_ALIVE);
for (Direction facing : Direction.HORIZONTALS) {
TileEntity tile = this.world.getTileEntity(this.pos.offset(facing));
if (tile == null || !tile.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing.getOpposite()))
continue;

View file

@ -1,15 +1,15 @@
package de.ellpeck.naturesaura.blocks.tiles;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
public class TileEntityProjectileGenerator extends TileEntityImpl {
public EnumFacing nextSide = EnumFacing.NORTH;
public Direction nextSide = Direction.NORTH;
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK) {
compound.setInteger("next_side", this.nextSide.getHorizontalIndex());
@ -17,10 +17,10 @@ public class TileEntityProjectileGenerator extends TileEntityImpl {
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK) {
this.nextSide = EnumFacing.byHorizontalIndex(compound.getInteger("next_side"));
this.nextSide = Direction.byHorizontalIndex(compound.getInteger("next_side"));
}
}
}

View file

@ -5,9 +5,9 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
@ -24,13 +24,13 @@ public class TileEntityRFConverter extends TileEntityImpl implements ITickable {
private int lastEnergy;
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
compound.setInteger("energy", this.storage.getEnergyStored());
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
this.storage.setEnergy(compound.getInteger("energy"));
}
@ -43,7 +43,7 @@ public class TileEntityRFConverter extends TileEntityImpl implements ITickable {
this.lastEnergy = this.storage.getEnergyStored();
}
for (EnumFacing facing : EnumFacing.VALUES) {
for (Direction facing : Direction.VALUES) {
TileEntity tile = this.world.getTileEntity(this.pos.offset(facing));
if (tile == null || !tile.hasCapability(CapabilityEnergy.ENERGY, facing.getOpposite()))
continue;
@ -84,13 +84,13 @@ public class TileEntityRFConverter extends TileEntityImpl implements ITickable {
}
@Override
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
public boolean hasCapability(Capability<?> capability, @Nullable Direction facing) {
return capability == CapabilityEnergy.ENERGY || super.hasCapability(capability, facing);
}
@Nullable
@Override
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
public <T> T getCapability(Capability<T> capability, @Nullable Direction facing) {
if (capability == CapabilityEnergy.ENERGY)
return (T) this.storage;
else

View file

@ -5,19 +5,19 @@ import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.items.ModItems;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.init.Items;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.item.ItemFrameEntity;
import net.minecraft.item.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.play.server.SPacketTimeUpdate;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.play.server.SUpdateTimePacket;
import net.minecraft.server.management.PlayerList;
import net.minecraft.util.EntitySelectors;
import net.minecraft.util.EntityPredicates;
import net.minecraft.util.ITickable;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.WorldServer;
import net.minecraft.world.ServerWorld;
import java.util.List;
@ -28,8 +28,8 @@ public class TileEntityTimeChanger extends TileEntityImpl implements ITickable {
@Override
public void update() {
if (!this.world.isRemote) {
List<EntityItemFrame> frames = Helper.getAttachedItemFrames(this.world, this.pos);
for (EntityItemFrame frame : frames) {
List<ItemFrameEntity> frames = Helper.getAttachedItemFrames(this.world, this.pos);
for (ItemFrameEntity frame : frames) {
ItemStack frameStack = frame.getDisplayedItem();
if (frameStack.isEmpty() || frameStack.getItem() != ModItems.CLOCK_HAND)
continue;
@ -47,9 +47,9 @@ public class TileEntityTimeChanger extends TileEntityImpl implements ITickable {
BlockPos spot = IAuraChunk.getHighestSpot(this.world, this.pos, 35, this.pos);
IAuraChunk.getAuraChunk(this.world, spot).drainAura(spot, (int) toAdd * 20);
if (this.world instanceof WorldServer) {
if (this.world instanceof ServerWorld) {
PlayerList list = this.world.getMinecraftServer().getPlayerList();
list.sendPacketToAllPlayersInDimension(new SPacketTimeUpdate(
list.sendPacketToAllPlayersInDimension(new SUpdateTimePacket(
this.world.getTotalWorldTime(), this.world.getWorldTime(),
this.world.getGameRules().getBoolean("doDaylightCycle")), this.world.provider.getDimension());
}
@ -59,9 +59,9 @@ public class TileEntityTimeChanger extends TileEntityImpl implements ITickable {
if (this.world.getTotalWorldTime() % 20 != 0)
return;
List<EntityItem> items = this.world.getEntitiesWithinAABB(EntityItem.class,
new AxisAlignedBB(this.pos).grow(1), EntitySelectors.IS_ALIVE);
for (EntityItem item : items) {
List<ItemEntity> items = this.world.getEntitiesWithinAABB(ItemEntity.class,
new AxisAlignedBB(this.pos).grow(1), EntityPredicates.IS_ALIVE);
for (ItemEntity item : items) {
if (item.cannotPickup())
continue;
ItemStack stack = item.getItem();
@ -106,14 +106,14 @@ public class TileEntityTimeChanger extends TileEntityImpl implements ITickable {
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK)
compound.setLong("goal", this.goalTime);
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK)
this.goalTime = compound.getLong("goal");

View file

@ -6,16 +6,16 @@ import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticleStream;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.BlockLeaves;
import net.minecraft.block.BlockLog;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.init.SoundEvents;
import net.minecraft.block.LeavesBlock;
import net.minecraft.block.LogBlock;
import net.minecraft.block.BlockState;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.util.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.ITickable;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
@ -80,7 +80,7 @@ public class TileEntityWoodStand extends TileEntityImpl implements ITickable {
return true;
});
EntityItem item = new EntityItem(this.world,
ItemEntity item = new ItemEntity(this.world,
this.ritualPos.getX() + 0.5, this.ritualPos.getY() + 4.5, this.ritualPos.getZ() + 0.5,
this.recipe.result.copy());
this.world.spawnEntity(item);
@ -133,8 +133,8 @@ public class TileEntityWoodStand extends TileEntityImpl implements ITickable {
for (int y = -1; y <= 1; y++) {
for (int z = -1; z <= 1; z++) {
BlockPos offset = pos.add(x, y, z);
IBlockState state = this.world.getBlockState(offset);
if (state.getBlock() instanceof BlockLog || state.getBlock() instanceof BlockLeaves) {
BlockState state = this.world.getBlockState(offset);
if (state.getBlock() instanceof LogBlock || state.getBlock() instanceof LeavesBlock) {
this.world.setBlockToAir(offset);
PacketHandler.sendToAllAround(this.world, this.pos, 32, new PacketParticles(offset.getX(), offset.getY(), offset.getZ(), 2));
@ -150,8 +150,8 @@ public class TileEntityWoodStand extends TileEntityImpl implements ITickable {
return false;
}
for (int i = 0; i < 2; i++) {
IBlockState state = this.world.getBlockState(this.ritualPos.up(i));
if(!(state.getBlock() instanceof BlockLog))
BlockState state = this.world.getBlockState(this.ritualPos.up(i));
if(!(state.getBlock() instanceof LogBlock))
return false;
}
if (this.timer < this.recipe.time / 2) {
@ -179,7 +179,7 @@ public class TileEntityWoodStand extends TileEntityImpl implements ITickable {
}
@Override
public void writeNBT(NBTTagCompound compound, SaveType type) {
public void writeNBT(CompoundNBT compound, SaveType type) {
super.writeNBT(compound, type);
if (type != SaveType.BLOCK)
compound.setTag("items", this.items.serializeNBT());
@ -194,7 +194,7 @@ public class TileEntityWoodStand extends TileEntityImpl implements ITickable {
}
@Override
public void readNBT(NBTTagCompound compound, SaveType type) {
public void readNBT(CompoundNBT compound, SaveType type) {
super.readNBT(compound, type);
if (type != SaveType.BLOCK)
this.items.deserializeNBT(compound.getCompoundTag("items"));
@ -209,7 +209,7 @@ public class TileEntityWoodStand extends TileEntityImpl implements ITickable {
}
@Override
public IItemHandlerModifiable getItemHandler(EnumFacing facing) {
public IItemHandlerModifiable getItemHandler(Direction facing) {
return this.items;
}
}

View file

@ -4,19 +4,19 @@ import de.ellpeck.naturesaura.blocks.tiles.TileEntityEnderCrate;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.GLAllocation;
import net.minecraft.client.renderer.GlStateManager;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.nio.FloatBuffer;
import java.util.Random;
@SideOnly(Side.CLIENT)
public class RenderEnderCrate extends TileEntitySpecialRenderer<TileEntityEnderCrate> {
@OnlyIn(Dist.CLIENT)
public class RenderEnderCrate extends TileEntityRenderer<TileEntityEnderCrate> {
private static final ResourceLocation END_SKY_TEXTURE = new ResourceLocation("textures/environment/end_sky.png");
private static final ResourceLocation END_PORTAL_TEXTURE = new ResourceLocation("textures/entity/end_portal.png");
private static final Random RANDOM = new Random(31100L);

View file

@ -6,17 +6,17 @@ import de.ellpeck.naturesaura.blocks.tiles.TileEntityImpl;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.GlStateManager;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@SideOnly(Side.CLIENT)
public class RenderGeneratorLimitRemover extends TileEntitySpecialRenderer<TileEntityGeneratorLimitRemover> {
@OnlyIn(Dist.CLIENT)
public class RenderGeneratorLimitRemover extends TileEntityRenderer<TileEntityGeneratorLimitRemover> {
private static final ResourceLocation RES = new ResourceLocation(NaturesAura.MOD_ID, "textures/models/generator_limit_remover_glint.png");
private final ModelLimitRemoverGlint model = new ModelLimitRemoverGlint();

View file

@ -2,12 +2,12 @@ package de.ellpeck.naturesaura.blocks.tiles.render;
import de.ellpeck.naturesaura.Helper;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityNatureAltar;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemBlock;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
public class RenderNatureAltar extends TileEntitySpecialRenderer<TileEntityNatureAltar> {
public class RenderNatureAltar extends TileEntityRenderer<TileEntityNatureAltar> {
@Override
public void render(TileEntityNatureAltar tile, double x, double y, double z, float partialTicks, int destroyStage, float alpha) {
ItemStack stack = tile.items.getStackInSlot(0);
@ -17,7 +17,7 @@ public class RenderNatureAltar extends TileEntitySpecialRenderer<TileEntityNatur
float bob = (float) Math.sin(time / 10F) * 0.1F;
GlStateManager.translate(x + 0.5F, y + 1.2F + bob, z + 0.5F);
GlStateManager.rotate((time * 3) % 360, 0F, 1F, 0F);
float scale = stack.getItem() instanceof ItemBlock ? 0.75F : 0.5F;
float scale = stack.getItem() instanceof BlockItem ? 0.75F : 0.5F;
GlStateManager.scale(scale, scale, scale);
Helper.renderItemInWorld(stack);
GlStateManager.popMatrix();

View file

@ -2,17 +2,17 @@ package de.ellpeck.naturesaura.blocks.tiles.render;
import de.ellpeck.naturesaura.Helper;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityOfferingTable;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.math.MathHelper;
import java.util.Random;
public class RenderOfferingTable extends TileEntitySpecialRenderer<TileEntityOfferingTable> {
public class RenderOfferingTable extends TileEntityRenderer<TileEntityOfferingTable> {
private final Random rand = new Random();
@ -29,7 +29,7 @@ public class RenderOfferingTable extends TileEntitySpecialRenderer<TileEntityOff
float scale;
float yOff;
if (item instanceof ItemBlock && ((ItemBlock) item).getBlock().getRenderLayer() == BlockRenderLayer.SOLID) {
if (item instanceof BlockItem && ((BlockItem) item).getBlock().getRenderLayer() == BlockRenderLayer.SOLID) {
scale = 0.4F;
yOff = 0.08F;
} else {

View file

@ -4,16 +4,16 @@ import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityProjectileGenerator;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.GlStateManager;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.util.EnumFacing;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@SideOnly(Side.CLIENT)
public class RenderProjectileGenerator extends TileEntitySpecialRenderer<TileEntityProjectileGenerator> {
@OnlyIn(Dist.CLIENT)
public class RenderProjectileGenerator extends TileEntityRenderer<TileEntityProjectileGenerator> {
private static final ResourceLocation RES = new ResourceLocation(NaturesAura.MOD_ID, "textures/models/projectile_generator_overlay.png");
private final ModelOverlay model = new ModelOverlay();
@ -21,13 +21,13 @@ public class RenderProjectileGenerator extends TileEntitySpecialRenderer<TileEnt
public void render(TileEntityProjectileGenerator te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) {
GlStateManager.pushMatrix();
GlStateManager.translate(x, y, z);
if (te.nextSide == EnumFacing.NORTH) {
if (te.nextSide == Direction.NORTH) {
GlStateManager.rotate(270, 0, 1, 0);
GlStateManager.translate(-0.001F, 0, -1);
} else if (te.nextSide == EnumFacing.EAST) {
} else if (te.nextSide == Direction.EAST) {
GlStateManager.rotate(180, 0, 1, 0);
GlStateManager.translate(-1.001F, 0, -1);
} else if (te.nextSide == EnumFacing.SOUTH) {
} else if (te.nextSide == Direction.SOUTH) {
GlStateManager.rotate(90, 0, 1, 0);
GlStateManager.translate(-1.001F, 0, 0);
} else {

View file

@ -2,21 +2,21 @@ package de.ellpeck.naturesaura.blocks.tiles.render;
import de.ellpeck.naturesaura.Helper;
import de.ellpeck.naturesaura.blocks.tiles.TileEntityWoodStand;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockRenderLayer;
public class RenderWoodStand extends TileEntitySpecialRenderer<TileEntityWoodStand> {
public class RenderWoodStand extends TileEntityRenderer<TileEntityWoodStand> {
@Override
public void render(TileEntityWoodStand tile, double x, double y, double z, float partialTicks, int destroyStage, float alpha) {
ItemStack stack = tile.items.getStackInSlot(0);
if (!stack.isEmpty()) {
GlStateManager.pushMatrix();
Item item = stack.getItem();
if (item instanceof ItemBlock && ((ItemBlock) item).getBlock().getRenderLayer() == BlockRenderLayer.SOLID) {
if (item instanceof BlockItem && ((BlockItem) item).getBlock().getRenderLayer() == BlockRenderLayer.SOLID) {
GlStateManager.translate(x + 0.5F, y + 0.9735F, z + 0.5F);
float scale = 0.65F;
GlStateManager.scale(scale, scale, scale);

View file

@ -6,11 +6,11 @@ import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.packet.PacketAuraChunk;
import de.ellpeck.naturesaura.packet.PacketHandler;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.Tuple;
import net.minecraft.util.math.BlockPos;
@ -173,7 +173,7 @@ public class AuraChunk implements IAuraChunk {
}
}
public void getActiveEffectIcons(EntityPlayer player, Map<ResourceLocation, Tuple<ItemStack, Boolean>> icons) {
public void getActiveEffectIcons(PlayerEntity player, Map<ResourceLocation, Tuple<ItemStack, Boolean>> icons) {
for (IDrainSpotEffect effect : this.effects) {
Tuple<ItemStack, Boolean> alreadyThere = icons.get(effect.getName());
if (alreadyThere != null && alreadyThere.getSecond())
@ -193,26 +193,26 @@ public class AuraChunk implements IAuraChunk {
}
@Override
public NBTTagCompound serializeNBT() {
NBTTagList list = new NBTTagList();
public CompoundNBT serializeNBT() {
ListNBT list = new ListNBT();
for (Map.Entry<BlockPos, MutableInt> entry : this.drainSpots.entrySet()) {
NBTTagCompound tag = new NBTTagCompound();
CompoundNBT tag = new CompoundNBT();
tag.setLong("pos", entry.getKey().toLong());
tag.setInteger("amount", entry.getValue().intValue());
list.appendTag(tag);
}
NBTTagCompound compound = new NBTTagCompound();
CompoundNBT compound = new CompoundNBT();
compound.setTag("drain_spots", list);
return compound;
}
@Override
public void deserializeNBT(NBTTagCompound compound) {
public void deserializeNBT(CompoundNBT compound) {
this.drainSpots.clear();
NBTTagList list = compound.getTagList("drain_spots", 10);
ListNBT list = compound.getTagList("drain_spots", 10);
for (NBTBase base : list) {
NBTTagCompound tag = (NBTTagCompound) base;
CompoundNBT tag = (CompoundNBT) base;
this.addDrainSpot(
BlockPos.fromLong(tag.getLong("pos")),
new MutableInt(tag.getInteger("amount")));

View file

@ -3,8 +3,8 @@ package de.ellpeck.naturesaura.chunk;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Direction;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
@ -13,7 +13,7 @@ import net.minecraftforge.common.util.INBTSerializable;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
public class AuraChunkProvider implements ICapabilityProvider, INBTSerializable<NBTTagCompound> {
public class AuraChunkProvider implements ICapabilityProvider, INBTSerializable<CompoundNBT> {
private final Chunk chunk;
private IAuraChunk auraChunk;
@ -29,23 +29,23 @@ public class AuraChunkProvider implements ICapabilityProvider, INBTSerializable<
}
@Override
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable Direction facing) {
return capability == NaturesAuraAPI.capAuraChunk;
}
@Nullable
@Override
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable Direction facing) {
return capability == NaturesAuraAPI.capAuraChunk ? (T) this.getAuraChunk() : null;
}
@Override
public NBTTagCompound serializeNBT() {
public CompoundNBT serializeNBT() {
return this.getAuraChunk().serializeNBT();
}
@Override
public void deserializeNBT(NBTTagCompound nbt) {
public void deserializeNBT(CompoundNBT nbt) {
this.getAuraChunk().deserializeNBT(nbt);
}
}

View file

@ -6,12 +6,12 @@ import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemEgg;
import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.ChickenEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Items;
import net.minecraft.item.EggItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.ResourceLocation;
@ -48,7 +48,7 @@ public class AnimalEffect implements IDrainSpotEffect {
}
@Override
public int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
public int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(player.world, pos, spot))
return -1;
if (!this.bb.contains(player.getPositionVector()))
@ -68,23 +68,23 @@ public class AnimalEffect implements IDrainSpotEffect {
if (!this.calcValues(world, pos, spot))
return;
List<EntityAnimal> animals = world.getEntitiesWithinAABB(EntityAnimal.class, this.bb);
List<AnimalEntity> animals = world.getEntitiesWithinAABB(AnimalEntity.class, this.bb);
if (animals.size() >= 200)
return;
if (world.getTotalWorldTime() % 200 == 0) {
List<EntityItem> items = world.getEntitiesWithinAABB(EntityItem.class, this.bb);
for (EntityItem item : items) {
List<ItemEntity> items = world.getEntitiesWithinAABB(ItemEntity.class, this.bb);
for (ItemEntity item : items) {
if (item.isDead)
continue;
if (!NaturesAuraAPI.instance().isEffectPowderActive(world, item.getPosition(), NAME))
continue;
ItemStack stack = item.getItem();
if (!(stack.getItem() instanceof ItemEgg))
if (!(stack.getItem() instanceof EggItem))
continue;
// The getAge() method is private for absolutely no reason but I want it so I don't care
int age = ReflectionHelper.getPrivateValue(EntityItem.class, item, "field_70292_b", "age");
int age = ReflectionHelper.getPrivateValue(ItemEntity.class, item, "field_70292_b", "age");
if (age < item.lifespan / 2)
continue;
@ -95,7 +95,7 @@ public class AnimalEffect implements IDrainSpotEffect {
item.setItem(stack);
}
EntityChicken chicken = new EntityChicken(world);
ChickenEntity chicken = new ChickenEntity(world);
chicken.setGrowingAge(-24000);
chicken.setPosition(item.posX, item.posY, item.posZ);
world.spawnEntity(chicken);
@ -108,18 +108,18 @@ public class AnimalEffect implements IDrainSpotEffect {
if (world.rand.nextInt(200) <= this.chance) {
if (animals.size() < 2)
return;
EntityAnimal first = animals.get(world.rand.nextInt(animals.size()));
AnimalEntity first = animals.get(world.rand.nextInt(animals.size()));
if (first.isChild() || first.isInLove())
return;
if (!NaturesAuraAPI.instance().isEffectPowderActive(world, first.getPosition(), NAME))
return;
Optional<EntityAnimal> secondOptional = animals.stream()
Optional<AnimalEntity> secondOptional = animals.stream()
.filter(e -> e != first && !e.isInLove() && !e.isChild())
.min(Comparator.comparingDouble(e -> e.getDistanceSq(first)));
if (!secondOptional.isPresent())
return;
EntityAnimal second = secondOptional.get();
AnimalEntity second = secondOptional.get();
if (second.getDistanceSq(first) > 5 * 5)
return;
@ -131,7 +131,7 @@ public class AnimalEffect implements IDrainSpotEffect {
}
}
private void setInLove(EntityAnimal animal) {
private void setInLove(AnimalEntity animal) {
animal.setInLove(null);
for (int j = 0; j < 7; j++)
animal.world.spawnParticle(EnumParticleTypes.HEART,

View file

@ -7,11 +7,11 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.potion.ModPotions;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.potion.EffectInstance;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
@ -43,7 +43,7 @@ public class BreathlessEffect implements IDrainSpotEffect {
}
@Override
public int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
public int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(player.world, pos, spot))
return -1;
if (!this.bb.contains(player.getPositionVector()))
@ -62,9 +62,9 @@ public class BreathlessEffect implements IDrainSpotEffect {
return;
if (!this.calcValues(world, pos, spot))
return;
List<EntityLivingBase> entities = world.getEntitiesWithinAABB(EntityLivingBase.class, this.bb);
for (EntityLivingBase entity : entities)
entity.addPotionEffect(new PotionEffect(ModPotions.BREATHLESS, 300, this.amp));
List<LivingEntity> entities = world.getEntitiesWithinAABB(LivingEntity.class, this.bb);
for (LivingEntity entity : entities)
entity.addPotionEffect(new EffectInstance(ModPotions.BREATHLESS, 300, this.amp));
}
@Override

View file

@ -7,7 +7,7 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.items.ModItems;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.AxisAlignedBB;
@ -38,7 +38,7 @@ public class CacheRechargeEffect implements IDrainSpotEffect {
}
@Override
public int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
public int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(player.world, pos, spot))
return -1;
if (!this.bb.contains(player.getPositionVector()))
@ -57,8 +57,8 @@ public class CacheRechargeEffect implements IDrainSpotEffect {
public void update(World world, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(world, pos, spot))
return;
List<EntityPlayer> players = world.getEntitiesWithinAABB(EntityPlayer.class, this.bb);
for (EntityPlayer player : players) {
List<PlayerEntity> players = world.getEntitiesWithinAABB(PlayerEntity.class, this.bb);
for (PlayerEntity player : players) {
if (NaturesAuraAPI.instance().isEffectPowderActive(world, player.getPosition(), NAME))
continue;
if (NaturesAuraAPI.instance().insertAuraIntoPlayer(player, this.amount, true)) {

View file

@ -5,8 +5,8 @@ import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
@ -38,7 +38,7 @@ public class ExplosionEffect implements IDrainSpotEffect {
}
@Override
public int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
public int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(player.world, pos, spot))
return -1;
if (player.getDistanceSq(pos) > this.dist * this.dist)

View file

@ -8,9 +8,9 @@ import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.blocks.ModBlocks;
import net.minecraft.block.*;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
@ -40,7 +40,7 @@ public class GrassDieEffect implements IDrainSpotEffect {
}
@Override
public int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
public int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(player.world, pos, spot))
return -1;
if (player.getDistanceSq(pos) > this.dist * this.dist)
@ -64,10 +64,10 @@ public class GrassDieEffect implements IDrainSpotEffect {
pos.getZ() + world.rand.nextGaussian() * this.dist
);
if (grassPos.distanceSq(pos) <= this.dist * this.dist && world.isBlockLoaded(grassPos)) {
IBlockState state = world.getBlockState(grassPos);
BlockState state = world.getBlockState(grassPos);
Block block = state.getBlock();
IBlockState newState = null;
BlockState newState = null;
if (block instanceof BlockLeaves) {
newState = ModBlocks.DECAYED_LEAVES.getDefaultState();
} else if (block instanceof BlockGrass) {

View file

@ -8,9 +8,9 @@ import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import de.ellpeck.naturesaura.api.recipes.WeightedOre;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.*;
import net.minecraft.util.math.AxisAlignedBB;
@ -18,7 +18,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraft.world.ServerWorld;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.FakePlayerFactory;
@ -30,7 +30,7 @@ import java.util.Set;
public class OreSpawnEffect implements IDrainSpotEffect {
public static final Set<IBlockState> SPAWN_EXCEPTIONS = new HashSet<>();
public static final Set<BlockState> SPAWN_EXCEPTIONS = new HashSet<>();
public static final ResourceLocation NAME = new ResourceLocation(NaturesAura.MOD_ID, "ore_spawn");
private int amount;
@ -50,7 +50,7 @@ public class OreSpawnEffect implements IDrainSpotEffect {
}
@Override
public int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
public int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(player.world, pos, spot))
return -1;
if (player.getDistanceSq(pos) > this.dist * this.dist)
@ -97,7 +97,7 @@ public class OreSpawnEffect implements IDrainSpotEffect {
BlockPos orePos = new BlockPos(x, y, z);
if (orePos.distanceSq(powderPos.x, powderPos.y, powderPos.z) <= range * range
&& orePos.distanceSq(pos) <= this.dist * this.dist && world.isBlockLoaded(orePos)) {
IBlockState state = world.getBlockState(orePos);
BlockState state = world.getBlockState(orePos);
Block block = state.getBlock();
if (block != requiredBlock)
continue;
@ -113,8 +113,8 @@ public class OreSpawnEffect implements IDrainSpotEffect {
if (toPlace == Blocks.AIR)
continue;
FakePlayer player = FakePlayerFactory.getMinecraft((WorldServer) world);
IBlockState stateToPlace = toPlace.getStateForPlacement(world, pos, EnumFacing.UP, 0, 0, 0, stack.getMetadata(), player, EnumHand.MAIN_HAND);
FakePlayer player = FakePlayerFactory.getMinecraft((ServerWorld) world);
BlockState stateToPlace = toPlace.getStateForPlacement(world, pos, EnumFacing.UP, 0, 0, 0, stack.getMetadata(), player, EnumHand.MAIN_HAND);
if (SPAWN_EXCEPTIONS.contains(stateToPlace))
continue;

View file

@ -10,10 +10,10 @@ import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.Block;
import net.minecraft.block.IGrowable;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
@ -42,7 +42,7 @@ public class PlantBoostEffect implements IDrainSpotEffect {
}
@Override
public int isActiveHere(EntityPlayer player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
public int isActiveHere(PlayerEntity player, Chunk chunk, IAuraChunk auraChunk, BlockPos pos, Integer spot) {
if (!this.calcValues(player.world, pos, spot))
return -1;
if (player.getDistanceSq(pos) > this.dist * this.dist)
@ -69,7 +69,7 @@ public class PlantBoostEffect implements IDrainSpotEffect {
if (NaturesAuraAPI.instance().isEffectPowderActive(world, plantPos, NAME))
continue;
IBlockState state = world.getBlockState(plantPos);
BlockState state = world.getBlockState(plantPos);
Block block = state.getBlock();
if (block instanceof IGrowable &&
block != Blocks.TALLGRASS && block != Blocks.GRASS && block != Blocks.DOUBLE_PLANT) {

View file

@ -4,7 +4,7 @@ import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.api.aura.chunk.IDrainSpotEffect;
import de.ellpeck.naturesaura.api.aura.type.IAuraType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@ -23,7 +23,7 @@ public class SpreadEffect implements IDrainSpotEffect {
while (toMove > 0) {
BlockPos bestOffset = null;
int bestAmount = drain ? Integer.MAX_VALUE : Integer.MIN_VALUE;
for (EnumFacing facing : EnumFacing.VALUES) {
for (Direction facing : Direction.VALUES) {
BlockPos offset = pos.offset(facing, 15);
if (world.isBlockLoaded(offset) && offset.getY() >= 0 && offset.getY() <= world.getHeight()) {
int amount = IAuraChunk.getAuraInArea(world, offset, 14);

View file

@ -5,7 +5,7 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import net.minecraft.command.*;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.world.World;
import javax.annotation.Nullable;
@ -38,7 +38,7 @@ public class CommandAura extends CommandBase {
BlockPos spot = IAuraChunk.getLowestSpot(world, pos, range, pos);
amount -= IAuraChunk.getAuraChunk(world, spot).storeAura(spot, amount);
}
sender.sendMessage(new TextComponentString("Stored Aura successfully"));
sender.sendMessage(new StringTextComponent("Stored Aura successfully"));
} else if ("drain".equals(action)) {
int amount = parse(args, 1, -1);
int range = parse(args, 2, 35);
@ -46,7 +46,7 @@ public class CommandAura extends CommandBase {
BlockPos spot = IAuraChunk.getHighestSpot(world, pos, range, pos);
amount -= IAuraChunk.getAuraChunk(world, spot).drainAura(spot, amount);
}
sender.sendMessage(new TextComponentString("Drained Aura successfully"));
sender.sendMessage(new StringTextComponent("Drained Aura successfully"));
} else if ("reset".equals(action)) {
int range = parse(args, 1, -1);
IAuraChunk.getSpotsInArea(world, pos, range, (spot, amount) -> {
@ -56,7 +56,7 @@ public class CommandAura extends CommandBase {
else
chunk.storeAura(spot, -amount);
});
sender.sendMessage(new TextComponentString("Reset Aura successfully"));
sender.sendMessage(new StringTextComponent("Reset Aura successfully"));
} else {
throw new SyntaxErrorException("Invalid action " + action);
}

View file

@ -5,15 +5,15 @@ import baubles.api.IBauble;
import baubles.api.cap.BaublesCapabilities;
import de.ellpeck.naturesaura.NaturesAura;
import de.ellpeck.naturesaura.items.ModItems;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ICapabilityProvider;
import net.minecraftforge.event.AttachCapabilitiesEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@ -37,13 +37,13 @@ public class BaublesCompat {
private void addCap(AttachCapabilitiesEvent<ItemStack> event, IBauble type) {
event.addCapability(new ResourceLocation(NaturesAura.MOD_ID, "bauble"), new ICapabilityProvider() {
@Override
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable Direction facing) {
return capability == BaublesCapabilities.CAPABILITY_ITEM_BAUBLE;
}
@Nullable
@Override
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable Direction facing) {
return capability == BaublesCapabilities.CAPABILITY_ITEM_BAUBLE ? (T) type : null;
}
});
@ -65,12 +65,12 @@ public class BaublesCompat {
}
@Override
public boolean willAutoSync(ItemStack itemstack, EntityLivingBase player) {
public boolean willAutoSync(ItemStack itemstack, LivingEntity player) {
return this.sync;
}
@Override
public void onWornTick(ItemStack stack, EntityLivingBase player) {
public void onWornTick(ItemStack stack, LivingEntity player) {
stack.getItem().onUpdate(stack, player.world, player, -1, false);
}
}

View file

@ -6,11 +6,11 @@ import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.ingredients.VanillaTypes;
import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GlStateManager;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.entity.Entity;
import net.minecraft.init.Items;
import net.minecraft.item.Items;
import net.minecraft.item.ItemMonsterPlacer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;

View file

@ -7,16 +7,16 @@ import de.ellpeck.naturesaura.compat.Compat;
import de.ellpeck.naturesaura.events.ClientEvents;
import de.ellpeck.naturesaura.renderers.SupporterFancyHandler;
import de.ellpeck.naturesaura.renderers.SupporterFancyHandler.FancyInfo;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.gui.AbstractGui;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.config.GuiUtils;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import vazkii.patchouli.api.BookDrawScreenEvent;
import vazkii.patchouli.api.PatchouliAPI;
@ -39,7 +39,7 @@ public final class PatchouliCompat {
}
@SubscribeEvent
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public void onBookDraw(BookDrawScreenEvent event) {
if (event.book == null || !event.book.equals(BOOK))
return;
@ -51,7 +51,7 @@ public final class PatchouliCompat {
RenderHelper.disableStandardItemLighting();
GlStateManager.color(1, 1, 1, 1);
event.gui.mc.getTextureManager().bindTexture(ClientEvents.BOOK_GUI);
Gui.drawModalRectWithCustomSizedTexture(x, y, 469, 0, 43, 42, 512, 256);
AbstractGui.drawModalRectWithCustomSizedTexture(x, y, 469, 0, 43, 42, 512, 256);
if (event.mouseX >= x && event.mouseY >= y && event.mouseX < x + 43 && event.mouseY < y + 42)
GuiUtils.drawHoveringText(
@ -69,15 +69,15 @@ public final class PatchouliCompat {
GlStateManager.color(1, 1, 1, 1);
event.gui.mc.getTextureManager().bindTexture(ClientEvents.BOOK_GUI);
Gui.drawModalRectWithCustomSizedTexture(x, y, 496, 44, 16, 18, 512, 256);
AbstractGui.drawModalRectWithCustomSizedTexture(x, y, 496, 44, 16, 18, 512, 256);
if (info.tier == 1) {
Gui.drawModalRectWithCustomSizedTexture(x, y, 496 - 16, 44, 16, 18, 512, 256);
AbstractGui.drawModalRectWithCustomSizedTexture(x, y, 496 - 16, 44, 16, 18, 512, 256);
} else {
float r = ((info.color >> 16) & 255) / 255F;
float g = ((info.color >> 8) & 255) / 255F;
float b = (info.color & 255) / 255F;
GlStateManager.color(r, g, b);
Gui.drawModalRectWithCustomSizedTexture(x, y, 496 - 32, 44, 16, 18, 512, 256);
AbstractGui.drawModalRectWithCustomSizedTexture(x, y, 496 - 32, 44, 16, 18, 512, 256);
}
if (event.mouseX >= x && event.mouseY >= y && event.mouseX < x + 16 && event.mouseY < y + 18)

View file

@ -3,7 +3,7 @@ package de.ellpeck.naturesaura.compat.patchouli;
import de.ellpeck.naturesaura.api.NaturesAuraAPI;
import de.ellpeck.naturesaura.api.recipes.AnimalSpawnerRecipe;
import net.minecraft.client.resources.I18n;
import net.minecraft.init.Items;
import net.minecraft.item.Items;
import net.minecraft.item.ItemMonsterPlacer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.EntityEntry;

View file

@ -11,7 +11,7 @@ import de.ellpeck.naturesaura.items.ModItems;
import de.ellpeck.naturesaura.misc.WorldData;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.network.datasync.DataParameter;
import net.minecraft.network.datasync.DataSerializers;
import net.minecraft.network.datasync.EntityDataManager;
@ -23,8 +23,8 @@ import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.List;
@ -34,7 +34,7 @@ public class EntityEffectInhibitor extends Entity implements IVisualizable {
private static final DataParameter<Integer> COLOR = EntityDataManager.createKey(EntityEffectInhibitor.class, DataSerializers.VARINT);
private static final DataParameter<Integer> AMOUNT = EntityDataManager.createKey(EntityEffectInhibitor.class, DataSerializers.VARINT);
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int renderTicks;
public EntityEffectInhibitor(World worldIn) {
@ -106,14 +106,14 @@ public class EntityEffectInhibitor extends Entity implements IVisualizable {
}
@Override
protected void readEntityFromNBT(NBTTagCompound compound) {
protected void readEntityFromNBT(CompoundNBT compound) {
this.setInhibitedEffect(new ResourceLocation(compound.getString("effect")));
this.setColor(compound.getInteger("color"));
this.setAmount(compound.hasKey("amount") ? compound.getInteger("amount") : 24);
}
@Override
protected void writeEntityToNBT(NBTTagCompound compound) {
protected void writeEntityToNBT(CompoundNBT compound) {
compound.setString("effect", this.getInhibitedEffect().toString());
compound.setInteger("color", this.getColor());
compound.setInteger("amount", this.getAmount());
@ -184,13 +184,13 @@ public class EntityEffectInhibitor extends Entity implements IVisualizable {
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public AxisAlignedBB getVisualizationBounds(World world, BlockPos pos) {
return Helper.aabb(this.getPositionVector()).grow(this.getAmount());
}
@Override
@SideOnly(Side.CLIENT)
@OnlyIn(Dist.CLIENT)
public int getVisualizationColor(World world, BlockPos pos) {
return this.getColor();
}

View file

@ -4,15 +4,15 @@ import de.ellpeck.naturesaura.api.aura.chunk.IAuraChunk;
import de.ellpeck.naturesaura.items.ModItems;
import de.ellpeck.naturesaura.packet.PacketHandler;
import de.ellpeck.naturesaura.packet.PacketParticles;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityMinecart;
import net.minecraft.init.Blocks;
import net.minecraft.entity.item.minecart.AbstractMinecartEntity;
import net.minecraft.block.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagLong;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
import net.minecraft.nbt.LongNBT;
import net.minecraft.util.DamageSource;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
@ -25,7 +25,7 @@ import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
public class EntityMoverMinecart extends EntityMinecart {
public class EntityMoverMinecart extends AbstractMinecartEntity {
private final List<BlockPos> spotOffsets = new ArrayList<>();
private BlockPos lastPosition = BlockPos.ORIGIN;
@ -103,27 +103,27 @@ public class EntityMoverMinecart extends EntityMinecart {
}
@Override
protected void writeEntityToNBT(NBTTagCompound compound) {
protected void writeEntityToNBT(CompoundNBT compound) {
super.writeEntityToNBT(compound);
compound.setBoolean("active", this.isActive);
compound.setLong("last_pos", this.lastPosition.toLong());
NBTTagList list = new NBTTagList();
ListNBT list = new ListNBT();
for (BlockPos offset : this.spotOffsets)
list.appendTag(new NBTTagLong(offset.toLong()));
list.appendTag(new LongNBT(offset.toLong()));
compound.setTag("offsets", list);
}
@Override
protected void readEntityFromNBT(NBTTagCompound compound) {
protected void readEntityFromNBT(CompoundNBT compound) {
super.readEntityFromNBT(compound);
this.isActive = compound.getBoolean("active");
this.lastPosition = BlockPos.fromLong(compound.getLong("last_pos"));
this.spotOffsets.clear();
NBTTagList list = compound.getTagList("offsets", Constants.NBT.TAG_LONG);
ListNBT list = compound.getTagList("offsets", Constants.NBT.TAG_LONG);
for (NBTBase base : list)
this.spotOffsets.add(BlockPos.fromLong(((NBTTagLong) base).getLong()));
this.spotOffsets.add(BlockPos.fromLong(((LongNBT) base).getLong()));
}
@Nullable
@ -139,7 +139,7 @@ public class EntityMoverMinecart extends EntityMinecart {
}
@Override
public IBlockState getDisplayTile() {
public BlockState getDisplayTile() {
return Blocks.STONE.getDefaultState();
}

Some files were not shown because too many files have changed in this diff Show more