Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Local uncommitted changes, not checked in to index
- ------- enderio-base/src/main/java/crazypants/enderio/base/EnderIO.java -------
- index 4b96b93af..eb197cdab 100644
- @@ -12,6 +12,7 @@ import com.google.common.collect.ImmutableList;
- import crazypants.enderio.api.IMC;
- import crazypants.enderio.api.addon.IEnderIOAddon;
- +import crazypants.enderio.api.capacitor.CapabilityCapacitorData;
- import crazypants.enderio.base.conduit.redstone.ConnectivityTool;
- import crazypants.enderio.base.config.Config;
- import crazypants.enderio.base.config.config.DiagnosticsConfig;
- @@ -96,6 +97,8 @@ public class EnderIO implements IEnderIOAddon {
- @EventHandler
- public void preInit(@Nonnull FMLPreInitializationEvent event) {
- Log.debug("PHASE PRE-INIT START");
- +
- + CapabilityCapacitorData.register();
- MinecraftForge.EVENT_BUS.post(new EnderIOLifecycleEvent.Config.Pre());
- Config.init(event);
- enderio-base/src/main/java/crazypants/enderio/base/capacitor/CapacitorHelper.java
- index e0ce36319..4e23e27d9 100644
- @@ -8,13 +8,14 @@ import javax.annotation.Nullable;
- import org.apache.commons.lang3.tuple.Pair;
- +import crazypants.enderio.api.capacitor.CapabilityCapacitorData;
- import crazypants.enderio.util.Prep;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.nbt.NBTTagFloat;
- public class CapacitorHelper {
- -
- +
- private CapacitorHelper() {
- }
- @@ -26,10 +27,7 @@ public class CapacitorHelper {
- if (capData != null) {
- return capData;
- }
- - if (stack.getItem() instanceof ICapacitorDataItem) {
- - return ((ICapacitorDataItem) stack.getItem()).getCapacitorData(stack);
- - }
- - return null;
- + return stack.getCapability(CapabilityCapacitorData.getCapNN(), null);
- }
- public static boolean isValidUpgrade(@Nonnull ItemStack stack) {
- @@ -40,10 +38,7 @@ public class CapacitorHelper {
- if (capData != null) {
- return true;
- }
- - if (stack.getItem() instanceof ICapacitorDataItem) {
- - return true;
- - }
- - return false;
- + return stack.hasCapability(CapabilityCapacitorData.getCapNN(), null);
- }
- protected static @Nullable ICapacitorData getNBTCapacitorDataFromItemStack(@Nonnull ItemStack stack) {
- enderio-base/src/main/java/crazypants/enderio/base/capacitor/ICapacitorDataItem.java
- deleted file mode 100644
- index f25bd6057..000000000
- @@ -1,12 +0,0 @@
- -package crazypants.enderio.base.capacitor;
- -
- -import javax.annotation.Nonnull;
- -
- -import net.minecraft.item.ItemStack;
- -
- -public interface ICapacitorDataItem {
- -
- - @Nonnull
- - ICapacitorData getCapacitorData(@Nonnull ItemStack stack);
- -
- -}
- enderio-base/src/main/java/crazypants/enderio/base/capacitor/ItemCapacitor.java
- index 6e0cc7b32..de729dcd9 100644
- @@ -6,10 +6,12 @@ import javax.annotation.Nonnull;
- import javax.annotation.Nullable;
- import com.enderio.core.client.handlers.SpecialTooltipHandler;
- +import com.enderio.core.common.CompoundCapabilityProvider;
- import com.enderio.core.common.util.NNList;
- import com.enderio.core.common.util.NNList.Callback;
- import com.enderio.core.common.util.NullHelper;
- +import crazypants.enderio.api.capacitor.CapabilityCapacitorData;
- import crazypants.enderio.base.EnderIO;
- import crazypants.enderio.base.EnderIOTab;
- import crazypants.enderio.base.init.IModObject;
- @@ -22,6 +24,7 @@ import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- +import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.tileentity.TileEntityChest;
- import net.minecraft.util.EnumActionResult;
- @@ -36,10 +39,12 @@ import net.minecraft.world.storage.loot.LootContext;
- import net.minecraft.world.storage.loot.LootTable;
- import net.minecraft.world.storage.loot.LootTableList;
- import net.minecraftforge.client.model.ModelLoader;
- +import net.minecraftforge.common.capabilities.Capability;
- +import net.minecraftforge.common.capabilities.ICapabilityProvider;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- -public class ItemCapacitor extends Item implements ICapacitorDataItem, IHaveRenderers {
- +public class ItemCapacitor extends Item implements IHaveRenderers {
- public static ItemCapacitor create(@Nonnull IModObject modObject) {
- return new ItemCapacitor(modObject);
- @@ -68,7 +73,7 @@ public class ItemCapacitor extends Item implements ICapacitorDataItem, IHaveRend
- @Override
- public @Nonnull String getUnlocalizedName(@Nonnull ItemStack stack) {
- - return getUnlocalizedName() + "." + getCapacitorData(stack).getUnlocalizedName();
- + return getUnlocalizedName() + "." + stack.getCapability(CapabilityCapacitorData.getCapNN(), null).getUnlocalizedName();
- }
- @Override
- @@ -102,10 +107,27 @@ public class ItemCapacitor extends Item implements ICapacitorDataItem, IHaveRend
- tooltip.add(EnderIO.lang.localize("loot.capacitor.entry." + NbtValue.CAPNO.getInt(stack), NbtValue.CAPNAME.getString(stack, "(!%$&�*&%*???")));
- }
- }
- -
- +
- @Override
- - public @Nonnull ICapacitorData getCapacitorData(@Nonnull ItemStack stack) {
- - return NullHelper.notnullJ(DefaultCapacitorData.values()[getMetadata(stack)], "Enum.values() has a null");
- + @Nullable
- + public ICapabilityProvider initCapabilities(@Nonnull ItemStack stack, @Nullable NBTTagCompound nbt) {
- + ICapabilityProvider capProvider = new ICapabilityProvider() {
- +
- + @Override
- + public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
- + return capability == CapabilityCapacitorData.getCapNN();
- + }
- +
- + @Override
- + @Nullable
- + public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
- + if (capability == CapabilityCapacitorData.getCapNN()) {
- + return CapabilityCapacitorData.getCapNN().cast(NullHelper.notnullJ(DefaultCapacitorData.values()[getMetadata(stack)], "Enum.values() has a null"));
- + }
- + return null;
- + }
- + };
- + return new CompoundCapabilityProvider(super.initCapabilities(stack, nbt), capProvider);
- }
- @Override
Add Comment
Please, Sign In to add comment