diff --git a/build.gradle b/build.gradle index 1f6070677..72dd1834d 100644 --- a/build.gradle +++ b/build.gradle @@ -27,7 +27,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' diff --git a/gradle.properties b/gradle.properties index 409e95d1d..bdfeecc0f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,9 +7,9 @@ aebasename=appliedenergistics2 ######################################################### # Versions # ######################################################### -minecraft_version=1.11.2 -mcp_mappings=stable_32 -forge_version=13.20.1.2388 +minecraft_version=1.12 +mcp_mappings=snapshot_20170704 +forge_version=14.21.1.2395 ######################################################### # Installable # @@ -19,8 +19,7 @@ waila_version=1.7.0-B3_1.9.4 ######################################################### # Provided APIs # ######################################################### -jei_version=4.3.6.282 -tesla_version=1.11-1.3.0.51 -ic2_version=2.7.57-ex111 -top_version=1.11-1.3.3-46 -compatlayer_version=1.11.2-0.2.9 +jei_version=4.7.1.69 +tesla_version=1.0.61 +ic2_version=2.8.7-ex112 +top_version=1.12-1.4.8-2 diff --git a/gradle/scripts/dependencies.gradle b/gradle/scripts/dependencies.gradle index 938cc5fb1..7a15c22d9 100644 --- a/gradle/scripts/dependencies.gradle +++ b/gradle/scripts/dependencies.gradle @@ -58,15 +58,15 @@ dependencies { // installable runtime dependencies //mods "mcp.mobius.waila:Waila:${waila_version}" //mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev" - mods "mcjty.theoneprobe:TheOneProbe:${top_version}" - mods "com.github.mcjty:compatlayer:${compatlayer_version}" + mods "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}" + // mods "com.github.mcjty:compatlayer:${compatlayer_version}" // compile against provided APIs compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api" //compileOnly "mcp.mobius.waila:Waila:${waila_version}" - compileOnly "net.darkhax.tesla:Tesla:${tesla_version}" + compileOnly "net.darkhax.tesla:Tesla-1.12:${tesla_version}" //compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api" - compileOnly "mcjty.theoneprobe:TheOneProbe:${top_version}:api" + compileOnly "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}:api" // at runtime, use the full JEI jar runtime "mezz.jei:jei_${minecraft_version}:${jei_version}" diff --git a/gradle/scripts/optional.gradle b/gradle/scripts/optional.gradle index 9cd2f9973..b3c6af624 100644 --- a/gradle/scripts/optional.gradle +++ b/gradle/scripts/optional.gradle @@ -42,19 +42,8 @@ task deinstallIC2(type: Delete) { delete fileTree(dir: minecraft.runDir + "/mods", include: "*industrialcraft-2*.jar") } -// COMPATLAYER -task installCompatLayer(type: Copy, dependsOn: "deinstallCompatLayer") { - from { configurations.mods } - include "**/*compatlayer*.jar" - into file(minecraft.runDir + "/mods") -} - -task deinstallCompatLayer(type: Delete) { - delete fileTree(dir: minecraft.runDir + "/mods", include: "*compatlayer*.jar") -} - // TOP -task installTop(type: Copy, dependsOn: ["deinstallTop", "installCompatLayer"]) { +task installTop(type: Copy, dependsOn: ["deinstallTop"]) { from { configurations.mods } include "**/*TheOneProbe*.jar" into file(minecraft.runDir + "/mods") diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 147eabc21..133732c1b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,4 +1,4 @@ -#Fri Sep 16 14:56:32 CEST 2016 +#Tue Jul 04 22:38:49 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/src/main/java/appeng/block/AEBaseBlock.java b/src/main/java/appeng/block/AEBaseBlock.java index 6167adc89..b691eb3ee 100644 --- a/src/main/java/appeng/block/AEBaseBlock.java +++ b/src/main/java/appeng/block/AEBaseBlock.java @@ -31,6 +31,7 @@ import net.minecraft.block.properties.IProperty; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -99,18 +100,21 @@ public abstract class AEBaseBlock extends Block return new BlockStateContainer( this, this.getAEStates() ); } + @SuppressWarnings( "deprecation" ) @Override public final boolean isNormalCube( IBlockState state ) { return this.isFullSize() && this.isOpaque(); } + @SuppressWarnings( "deprecation" ) @Override public AxisAlignedBB getBoundingBox( IBlockState state, IBlockAccess source, BlockPos pos ) { return boundingBox; } + @SuppressWarnings( "deprecation" ) @Override public void addCollisionBoxToList( final IBlockState state, final World w, final BlockPos pos, final AxisAlignedBB bb, final List out, @Nullable final Entity e, boolean p_185477_7_) { @@ -135,6 +139,7 @@ public abstract class AEBaseBlock extends Block } } + @SuppressWarnings( "deprecation" ) @Override @SideOnly( Side.CLIENT ) public AxisAlignedBB getSelectedBoundingBox( IBlockState state, final World w, final BlockPos pos ) @@ -221,12 +226,14 @@ public abstract class AEBaseBlock extends Block return super.getSelectedBoundingBox( state, w, pos ); } + @SuppressWarnings( "deprecation" ) @Override public final boolean isOpaqueCube( IBlockState state ) { return this.isOpaque(); } + @SuppressWarnings( "deprecation" ) @Override public RayTraceResult collisionRayTrace( final IBlockState state, final World w, final BlockPos pos, final Vec3d a, final Vec3d b ) { @@ -274,12 +281,14 @@ public abstract class AEBaseBlock extends Block return super.collisionRayTrace( state, w, pos, a, b ); } + @SuppressWarnings( "deprecation" ) @Override public boolean hasComparatorInputOverride( IBlockState state ) { return this.isInventory(); } + @SuppressWarnings( "deprecation" ) @Override public int getComparatorInputOverride( IBlockState state, final World worldIn, final BlockPos pos ) { @@ -332,8 +341,9 @@ public abstract class AEBaseBlock extends Block return new EnumFacing[0]; } + @SideOnly(Side.CLIENT) @Override - public void addInformation( final ItemStack is, final EntityPlayer player, final List lines, final boolean advancedItemTooltips ) + public void addInformation( final ItemStack is, final World world, final List lines, final ITooltipFlag advancedItemTooltips ) { } diff --git a/src/main/java/appeng/block/AEBaseItemBlock.java b/src/main/java/appeng/block/AEBaseItemBlock.java index 1668fd249..bbd7c8c88 100644 --- a/src/main/java/appeng/block/AEBaseItemBlock.java +++ b/src/main/java/appeng/block/AEBaseItemBlock.java @@ -23,6 +23,7 @@ import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -67,15 +68,15 @@ public class AEBaseItemBlock extends ItemBlock @Override @SideOnly( Side.CLIENT ) @SuppressWarnings( "unchecked" ) - public final void addInformation( final ItemStack itemStack, final EntityPlayer player, final List toolTip, final boolean advancedTooltips ) + public final void addInformation( final ItemStack itemStack, final World world, final List toolTip, final ITooltipFlag advancedTooltips ) { - this.addCheckedInformation( itemStack, player, toolTip, advancedTooltips ); + this.addCheckedInformation( itemStack, world, toolTip, advancedTooltips ); } @SideOnly( Side.CLIENT ) - public void addCheckedInformation( final ItemStack itemStack, final EntityPlayer player, final List toolTip, final boolean advancedToolTips ) + public void addCheckedInformation( final ItemStack itemStack, final World world, final List toolTip, final ITooltipFlag advancedTooltips ) { - this.blockType.addInformation( itemStack, player, toolTip, advancedToolTips ); + this.blockType.addInformation( itemStack, world, toolTip, advancedTooltips ); } @Override diff --git a/src/main/java/appeng/block/AEBaseItemBlockChargeable.java b/src/main/java/appeng/block/AEBaseItemBlockChargeable.java index 210a2cc81..8519af681 100644 --- a/src/main/java/appeng/block/AEBaseItemBlockChargeable.java +++ b/src/main/java/appeng/block/AEBaseItemBlockChargeable.java @@ -23,9 +23,11 @@ import java.text.MessageFormat; import java.util.List; import net.minecraft.block.Block; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -48,9 +50,9 @@ public class AEBaseItemBlockChargeable extends AEBaseItemBlock implements IAEIte @Override @SideOnly( Side.CLIENT ) - public void addCheckedInformation( final ItemStack itemStack, final EntityPlayer player, final List toolTip, final boolean advancedTooltips ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - final NBTTagCompound tag = itemStack.getTagCompound(); + final NBTTagCompound tag = stack.getTagCompound(); double internalCurrentPower = 0; final double internalMaxPower = this.getMaxEnergyCapacity(); @@ -61,7 +63,7 @@ public class AEBaseItemBlockChargeable extends AEBaseItemBlock implements IAEIte final double percent = internalCurrentPower / internalMaxPower; - toolTip.add( GuiText.StoredEnergy.getLocal() + ':' + MessageFormat.format( " {0,number,#} ", internalCurrentPower ) + Platform.gui_localize( PowerUnits.AE.unlocalizedName ) + " - " + MessageFormat.format( " {0,number,#.##%} ", percent ) ); + lines.add( GuiText.StoredEnergy.getLocal() + ':' + MessageFormat.format( " {0,number,#} ", internalCurrentPower ) + Platform.gui_localize( PowerUnits.AE.unlocalizedName ) + " - " + MessageFormat.format( " {0,number,#.##%} ", percent ) ); } private double getMaxEnergyCapacity() diff --git a/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java b/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java index 0b2137f30..b723391d8 100644 --- a/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java +++ b/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java @@ -83,7 +83,7 @@ public class BlockCraftingMonitor extends BlockCraftingUnit @Override @SideOnly( Side.CLIENT ) - public void getSubBlocks( final Item item, final CreativeTabs tabs, final NonNullList itemStacks ) + public void getSubBlocks( final CreativeTabs tabs, final NonNullList itemStacks ) { itemStacks.add( new ItemStack( this, 1, 0 ) ); } diff --git a/src/main/java/appeng/block/networking/BlockCableBus.java b/src/main/java/appeng/block/networking/BlockCableBus.java index 313089926..678dc22ab 100644 --- a/src/main/java/appeng/block/networking/BlockCableBus.java +++ b/src/main/java/appeng/block/networking/BlockCableBus.java @@ -377,7 +377,7 @@ public class BlockCableBus extends AEBaseTileBlock @Override @SideOnly( Side.CLIENT ) - public void getSubBlocks( final Item item, final CreativeTabs tabs, final NonNullList itemStacks ) + public void getSubBlocks( final CreativeTabs tabs, final NonNullList itemStacks ) { // do nothing } diff --git a/src/main/java/appeng/block/networking/BlockController.java b/src/main/java/appeng/block/networking/BlockController.java index 5365939c1..1ad19f605 100644 --- a/src/main/java/appeng/block/networking/BlockController.java +++ b/src/main/java/appeng/block/networking/BlockController.java @@ -34,6 +34,9 @@ import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; import appeng.tile.networking.TileController; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + public class BlockController extends AEBaseTileBlock { @@ -96,6 +99,7 @@ public class BlockController extends AEBaseTileBlock * controllers and the network state of this controller (offline, online, conflicted). This is used to * get a rudimentary connected texture feel for the controller based on how it is placed. */ + @SuppressWarnings( "deprecation" ) @Override public IBlockState getActualState( IBlockState state, IBlockAccess world, BlockPos pos ) { @@ -155,6 +159,7 @@ public class BlockController extends AEBaseTileBlock return state.getValue( CONTROLLER_STATE ).ordinal(); } + @SuppressWarnings( "deprecation" ) @Override public IBlockState getStateFromMeta( final int meta ) { @@ -168,6 +173,7 @@ public class BlockController extends AEBaseTileBlock return BlockRenderLayer.CUTOUT; } + @SuppressWarnings( "deprecation" ) @Override public void neighborChanged( IBlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos ) { diff --git a/src/main/java/appeng/block/networking/BlockEnergyCell.java b/src/main/java/appeng/block/networking/BlockEnergyCell.java index c61b49461..040c1b710 100644 --- a/src/main/java/appeng/block/networking/BlockEnergyCell.java +++ b/src/main/java/appeng/block/networking/BlockEnergyCell.java @@ -60,9 +60,9 @@ public class BlockEnergyCell extends AEBaseTileBlock @Override @SideOnly( Side.CLIENT ) - public void getSubBlocks( final Item item, final CreativeTabs tabs, final NonNullList itemStacks ) + public void getSubBlocks( final CreativeTabs tabs, final NonNullList itemStacks ) { - super.getSubBlocks( item, tabs, itemStacks ); + super.getSubBlocks( tabs, itemStacks ); final ItemStack charged = new ItemStack( this, 1 ); final NBTTagCompound tag = Platform.openNbtData( charged ); diff --git a/src/main/java/appeng/block/paint/BlockPaint.java b/src/main/java/appeng/block/paint/BlockPaint.java index 942fee033..6de631e8f 100644 --- a/src/main/java/appeng/block/paint/BlockPaint.java +++ b/src/main/java/appeng/block/paint/BlockPaint.java @@ -93,7 +93,7 @@ public class BlockPaint extends AEBaseTileBlock @Override @SideOnly( Side.CLIENT ) - public void getSubBlocks( final Item item, final CreativeTabs tabs, final NonNullList itemStacks ) + public void getSubBlocks( final CreativeTabs tabs, final NonNullList itemStacks ) { // do nothing } diff --git a/src/main/java/appeng/block/paint/PaintBakedModel.java b/src/main/java/appeng/block/paint/PaintBakedModel.java index 4130b3889..d2bf084a6 100644 --- a/src/main/java/appeng/block/paint/PaintBakedModel.java +++ b/src/main/java/appeng/block/paint/PaintBakedModel.java @@ -4,10 +4,10 @@ package appeng.block.paint; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.function.Function; import javax.annotation.Nullable; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import net.minecraft.block.state.IBlockState; diff --git a/src/main/java/appeng/block/paint/PaintModel.java b/src/main/java/appeng/block/paint/PaintModel.java index de9e90ff9..70acc18cb 100644 --- a/src/main/java/appeng/block/paint/PaintModel.java +++ b/src/main/java/appeng/block/paint/PaintModel.java @@ -3,8 +3,7 @@ package appeng.block.paint; import java.util.Collection; import java.util.Collections; - -import com.google.common.base.Function; +import java.util.function.Function; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.texture.TextureAtlasSprite; diff --git a/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java b/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java index 2e6b4990e..6b1fef5a8 100644 --- a/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java +++ b/src/main/java/appeng/block/qnb/QnbFormedBakedModel.java @@ -4,10 +4,10 @@ package appeng.block.qnb; import java.util.EnumSet; import java.util.List; import java.util.Set; +import java.util.function.Function; import javax.annotation.Nullable; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import net.minecraft.block.Block; @@ -18,7 +18,6 @@ import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.block.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.vertex.VertexFormat; -import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.property.IExtendedBlockState; diff --git a/src/main/java/appeng/block/qnb/QnbFormedModel.java b/src/main/java/appeng/block/qnb/QnbFormedModel.java index 69f5caf06..ee9dca9a1 100644 --- a/src/main/java/appeng/block/qnb/QnbFormedModel.java +++ b/src/main/java/appeng/block/qnb/QnbFormedModel.java @@ -2,8 +2,8 @@ package appeng.block.qnb; import java.util.Collection; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import net.minecraft.client.renderer.block.model.IBakedModel; diff --git a/src/main/java/appeng/block/spatial/BlockMatrixFrame.java b/src/main/java/appeng/block/spatial/BlockMatrixFrame.java index 520489664..910c519d6 100644 --- a/src/main/java/appeng/block/spatial/BlockMatrixFrame.java +++ b/src/main/java/appeng/block/spatial/BlockMatrixFrame.java @@ -54,7 +54,7 @@ public class BlockMatrixFrame extends AEBaseBlock implements ICustomCollision @Override @SideOnly( Side.CLIENT ) - public void getSubBlocks( final Item item, final CreativeTabs tabs, final NonNullList itemStacks ) + public void getSubBlocks( final CreativeTabs tabs, final NonNullList itemStacks ) { // do nothing } diff --git a/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java b/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java index 8f024fbdb..4698cf9a7 100644 --- a/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java +++ b/src/main/java/appeng/bootstrap/BlockDefinitionBuilder.java @@ -29,12 +29,15 @@ import java.util.function.Supplier; import javax.annotation.Nullable; +import appeng.core.Registration; import net.minecraft.block.Block; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.gui.ForgeGuiFactory; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -147,7 +150,8 @@ class BlockDefinitionBuilder implements IBlockBuilder } @Override - public IBlockBuilder tileEntity(Class tileEntityClass) { + public IBlockBuilder tileEntity( Class tileEntityClass ) + { teClass = tileEntityClass; return this; } @@ -201,6 +205,7 @@ class BlockDefinitionBuilder implements IBlockBuilder // Create block and matching item, and set factory name of both Block block = blockSupplier.get(); block.setRegistryName( AppEng.MOD_ID, registryName ); + block.setUnlocalizedName( "appliedenergistics2." + registryName ); ItemBlock item = constructItemFromBlock( block ); if( item != null ) @@ -210,15 +215,18 @@ class BlockDefinitionBuilder implements IBlockBuilder // Register the item and block with the game factory.addPreInit( side -> { - GameRegistry.register( block ); + // GameRegistry.register( block ); + Registration.addBlockToRegister( block ); +// ForgeRegistries.BLOCKS.register(block); if( item != null ) { - GameRegistry.register( item ); + Registration.addItemToRegister( item ); +// ForgeRegistries.ITEMS.register(item); } } ); block.setCreativeTab( creativeTab ); - block.setUnlocalizedName( "appliedenergistics2." + registryName ); + // Register all extra handlers preInitCallbacks.forEach( consumer -> factory.addPreInit( side -> consumer.accept( block, item ) ) ); diff --git a/src/main/java/appeng/bootstrap/BlockRendering.java b/src/main/java/appeng/bootstrap/BlockRendering.java index a798beeb8..7b2fc4ba3 100644 --- a/src/main/java/appeng/bootstrap/BlockRendering.java +++ b/src/main/java/appeng/bootstrap/BlockRendering.java @@ -119,7 +119,8 @@ class BlockRendering implements IBlockRendering factory.modelOverrideComponent.addOverride( block.getRegistryName().getResourcePath(), ( l, m ) -> new AutoRotatingModel( m ) ); } - builtInModels.forEach( factory::addBuiltInModel ); + // TODO : 1.12 + builtInModels.forEach( factory::addBuiltInModel ); if( blockColor != null ) { diff --git a/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java b/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java index 3e2dd5ed1..b4a9ee90f 100644 --- a/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java +++ b/src/main/java/appeng/bootstrap/ItemDefinitionBuilder.java @@ -26,10 +26,12 @@ import java.util.List; import java.util.function.Consumer; import java.util.function.Supplier; +import appeng.core.Registration; import net.minecraft.block.BlockDispenser; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.IBehaviorDispenseItem; import net.minecraft.item.Item; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -174,7 +176,7 @@ class ItemDefinitionBuilder implements IItemBuilder } ); } - factory.addPreInit( side -> GameRegistry.register( item ) ); + factory.addPreInit( side -> Registration.addItemToRegister( item ) ); if( Platform.isClient() ) { diff --git a/src/main/java/appeng/bootstrap/ItemRendering.java b/src/main/java/appeng/bootstrap/ItemRendering.java index d0ff38543..15641663b 100644 --- a/src/main/java/appeng/bootstrap/ItemRendering.java +++ b/src/main/java/appeng/bootstrap/ItemRendering.java @@ -140,6 +140,7 @@ class ItemRendering implements IItemRendering factory.addBootstrapComponent( new ItemModelComponent( item, ImmutableMap.of( 0, model ) ) ); } + // TODO : 1.12 builtInModels.forEach( factory::addBuiltInModel ); if( !resources.isEmpty() ) diff --git a/src/main/java/appeng/client/gui/AEBaseGui.java b/src/main/java/appeng/client/gui/AEBaseGui.java index b49ee79f8..da8fc0713 100644 --- a/src/main/java/appeng/client/gui/AEBaseGui.java +++ b/src/main/java/appeng/client/gui/AEBaseGui.java @@ -36,6 +36,8 @@ import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; import mezz.jei.api.IRecipesGui; +import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.vertex.VertexBuffer; import net.minecraftforge.client.event.GuiOpenEvent; import net.minecraftforge.common.MinecraftForge; import org.lwjgl.input.Keyboard; @@ -48,7 +50,6 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ClickType; @@ -766,7 +767,7 @@ public abstract class AEBaseGui extends GuiContainer final float par4 = uv_y * 16; final Tessellator tessellator = Tessellator.getInstance(); - final VertexBuffer vb = tessellator.getBuffer(); + final BufferBuilder vb = tessellator.getBuffer(); vb.begin( GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX_COLOR ); diff --git a/src/main/java/appeng/client/gui/AEBaseMEGui.java b/src/main/java/appeng/client/gui/AEBaseMEGui.java index 0e6b1df46..966aebd69 100644 --- a/src/main/java/appeng/client/gui/AEBaseMEGui.java +++ b/src/main/java/appeng/client/gui/AEBaseMEGui.java @@ -23,6 +23,7 @@ import java.text.NumberFormat; import java.util.List; import java.util.Locale; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; @@ -116,10 +117,11 @@ public abstract class AEBaseMEGui extends AEBaseGui { } + ITooltipFlag.TooltipFlags tooltipFlag = this.mc.gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL; if( myStack != null ) { @SuppressWarnings( "unchecked" ) - final List currentToolTip = stack.getTooltip( this.mc.player, this.mc.gameSettings.advancedItemTooltips ); + final List currentToolTip = stack.getTooltip( this.mc.player, tooltipFlag ); if( myStack.getStackSize() > BigNumber || ( myStack.getStackSize() > 1 && stack.isItemDamaged() ) ) { @@ -136,7 +138,7 @@ public abstract class AEBaseMEGui extends AEBaseGui } else if( stack.getCount() > BigNumber ) { - List var4 = stack.getTooltip( this.mc.player, this.mc.gameSettings.advancedItemTooltips ); + List var4 = stack.getTooltip( this.mc.player, tooltipFlag ); var4.add( "Items Stored: " + NumberFormat.getNumberInstance( Locale.US ).format( stack.getCount() ) ); this.drawTooltip( x, y, var4 ); return; diff --git a/src/main/java/appeng/client/gui/Size1Slot.java b/src/main/java/appeng/client/gui/Size1Slot.java index 614b95535..1250ad90d 100644 --- a/src/main/java/appeng/client/gui/Size1Slot.java +++ b/src/main/java/appeng/client/gui/Size1Slot.java @@ -1,6 +1,7 @@ package appeng.client.gui; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -28,8 +29,8 @@ class Size1Slot extends Slot this.delegate = delegate; } - @Nullable @Override + @Nonnull public ItemStack getStack() { ItemStack orgStack = delegate.getStack(); diff --git a/src/main/java/appeng/client/gui/config/AEConfigGuiFactory.java b/src/main/java/appeng/client/gui/config/AEConfigGuiFactory.java index 7f2596985..84051cfcb 100644 --- a/src/main/java/appeng/client/gui/config/AEConfigGuiFactory.java +++ b/src/main/java/appeng/client/gui/config/AEConfigGuiFactory.java @@ -67,13 +67,7 @@ public class AEConfigGuiFactory implements IModGuiFactory */ @Override public GuiScreen createConfigGui(GuiScreen parentScreen) { - return null; - } - - @Override - public Class mainConfigGuiClass() - { - return AEConfigGui.class; + return new AEConfigGui(parentScreen); } @Override @@ -82,9 +76,4 @@ public class AEConfigGuiFactory implements IModGuiFactory return null; } - @Override - public RuntimeOptionGuiHandler getHandlerFor( final RuntimeOptionCategoryElement element ) - { - return null; - } } diff --git a/src/main/java/appeng/client/gui/implementations/GuiNetworkStatus.java b/src/main/java/appeng/client/gui/implementations/GuiNetworkStatus.java index 2d1e3c676..6fa328f9f 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiNetworkStatus.java +++ b/src/main/java/appeng/client/gui/implementations/GuiNetworkStatus.java @@ -22,6 +22,8 @@ package appeng.client.gui.implementations; import java.io.IOException; import java.util.List; +import net.minecraft.client.util.ITooltipFlag; +import net.minecraftforge.fml.client.FMLClientHandler; import org.lwjgl.input.Mouse; import net.minecraft.client.gui.GuiButton; @@ -253,7 +255,8 @@ public class GuiNetworkStatus extends AEBaseGui implements ISortSource if( myStack != null ) { - List currentToolTip = stack.getTooltip( this.mc.player, this.mc.gameSettings.advancedItemTooltips ); + ITooltipFlag.TooltipFlags tooltipFlag = this.mc.gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL; + List currentToolTip = stack.getTooltip( this.mc.player, tooltipFlag ); while( currentToolTip.size() > 1 ) { diff --git a/src/main/java/appeng/client/gui/widgets/GuiImgButton.java b/src/main/java/appeng/client/gui/widgets/GuiImgButton.java index d21727c46..34a9bf1ba 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiImgButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiImgButton.java @@ -181,7 +181,7 @@ public class GuiImgButton extends GuiButton implements ITooltip } @Override - public void drawButton( final Minecraft par1Minecraft, final int par2, final int par3 ) + public void drawButton( final Minecraft par1Minecraft, final int par2, final int par3, float partial ) { if( this.visible ) { diff --git a/src/main/java/appeng/client/gui/widgets/GuiProgressBar.java b/src/main/java/appeng/client/gui/widgets/GuiProgressBar.java index 52d73d95b..fadda1e67 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiProgressBar.java +++ b/src/main/java/appeng/client/gui/widgets/GuiProgressBar.java @@ -59,7 +59,7 @@ public class GuiProgressBar extends GuiButton implements ITooltip } @Override - public void drawButton( final Minecraft par1Minecraft, final int par2, final int par3 ) + public void drawButton( final Minecraft par1Minecraft, final int par2, final int par3, final float partial ) { if( this.visible ) { diff --git a/src/main/java/appeng/client/gui/widgets/GuiTabButton.java b/src/main/java/appeng/client/gui/widgets/GuiTabButton.java index ca02e1c19..5ccc035e6 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiTabButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiTabButton.java @@ -71,7 +71,7 @@ public class GuiTabButton extends GuiButton implements ITooltip } @Override - public void drawButton( final Minecraft minecraft, final int x, final int y ) + public void drawButton( final Minecraft minecraft, final int x, final int y, float partial ) { if( this.visible ) { diff --git a/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java b/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java index bcd97aefe..59894da65 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java @@ -58,7 +58,7 @@ public class GuiToggleButton extends GuiButton implements ITooltip } @Override - public void drawButton( final Minecraft par1Minecraft, final int par2, final int par3 ) + public void drawButton( final Minecraft par1Minecraft, final int par2, final int par3, final float partial ) { if( this.visible ) { diff --git a/src/main/java/appeng/client/gui/widgets/MEGuiTextField.java b/src/main/java/appeng/client/gui/widgets/MEGuiTextField.java index 5298b7bf4..11d6e345f 100644 --- a/src/main/java/appeng/client/gui/widgets/MEGuiTextField.java +++ b/src/main/java/appeng/client/gui/widgets/MEGuiTextField.java @@ -61,13 +61,14 @@ public class MEGuiTextField extends GuiTextField } @Override - public void mouseClicked( final int xPos, final int yPos, final int button ) + public boolean mouseClicked( final int xPos, final int yPos, final int button ) { super.mouseClicked( xPos, yPos, button ); final boolean requiresFocus = this.isMouseIn( xPos, yPos ); this.setFocused( requiresFocus ); + return true; } /** diff --git a/src/main/java/appeng/client/render/FacadeItemModel.java b/src/main/java/appeng/client/render/FacadeItemModel.java index 2c7c50363..dfbfea956 100644 --- a/src/main/java/appeng/client/render/FacadeItemModel.java +++ b/src/main/java/appeng/client/render/FacadeItemModel.java @@ -21,8 +21,7 @@ package appeng.client.render; import java.util.Collection; import java.util.Collections; - -import com.google.common.base.Function; +import java.util.function.Function; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.texture.TextureAtlasSprite; diff --git a/src/main/java/appeng/client/render/SpatialSkyRender.java b/src/main/java/appeng/client/render/SpatialSkyRender.java index e4cf1d851..9f256bb32 100644 --- a/src/main/java/appeng/client/render/SpatialSkyRender.java +++ b/src/main/java/appeng/client/render/SpatialSkyRender.java @@ -21,6 +21,7 @@ package appeng.client.render; import java.util.Random; +import net.minecraft.client.renderer.BufferBuilder; import org.lwjgl.opengl.GL11; import net.minecraft.client.Minecraft; @@ -30,7 +31,6 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraftforge.client.IRenderHandler; @@ -77,7 +77,7 @@ public class SpatialSkyRender extends IRenderHandler GlStateManager.depthMask( false ); GlStateManager.color( 0.0f, 0.0f, 0.0f, 1.0f ); final Tessellator tessellator = Tessellator.getInstance(); - final VertexBuffer VertexBuffer = tessellator.getBuffer(); + final BufferBuilder VertexBuffer = tessellator.getBuffer(); // This renders a skybox around the player at a far, fixed distance from them. // The skybox is pitch black and untextured @@ -150,7 +150,7 @@ public class SpatialSkyRender extends IRenderHandler private void renderTwinkles() { final Tessellator tessellator = Tessellator.getInstance(); - final VertexBuffer VertexBuffer = tessellator.getBuffer(); + final BufferBuilder VertexBuffer = tessellator.getBuffer(); VertexBuffer.begin( GL11.GL_QUADS, DefaultVertexFormats.POSITION ); for( int i = 0; i < 50; ++i ) diff --git a/src/main/java/appeng/client/render/cablebus/CableBuilder.java b/src/main/java/appeng/client/render/cablebus/CableBuilder.java index 60bb3259e..119e67581 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBuilder.java +++ b/src/main/java/appeng/client/render/cablebus/CableBuilder.java @@ -24,8 +24,7 @@ import java.util.Collections; import java.util.EnumMap; import java.util.EnumSet; import java.util.List; - -import com.google.common.base.Function; +import java.util.function.Function; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.texture.TextureAtlasSprite; diff --git a/src/main/java/appeng/client/render/cablebus/CableBusModel.java b/src/main/java/appeng/client/render/cablebus/CableBusModel.java index c1d90d306..ad3f8863a 100644 --- a/src/main/java/appeng/client/render/cablebus/CableBusModel.java +++ b/src/main/java/appeng/client/render/cablebus/CableBusModel.java @@ -21,8 +21,8 @@ package appeng.client.render.cablebus; import java.util.Collection; import java.util.Map; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java b/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java index 767e00e20..18dc524fa 100644 --- a/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java +++ b/src/main/java/appeng/client/render/cablebus/FacadeBuilder.java @@ -26,12 +26,11 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.function.Function; import javax.annotation.Nullable; import javax.vecmath.Vector3f; -import com.google.common.base.Function; - import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.BlockRendererDispatcher; diff --git a/src/main/java/appeng/client/render/cablebus/SmartCableTextures.java b/src/main/java/appeng/client/render/cablebus/SmartCableTextures.java index 46397085a..bd5ff8154 100644 --- a/src/main/java/appeng/client/render/cablebus/SmartCableTextures.java +++ b/src/main/java/appeng/client/render/cablebus/SmartCableTextures.java @@ -20,8 +20,7 @@ package appeng.client.render.cablebus; import java.util.Arrays; - -import com.google.common.base.Function; +import java.util.function.Function; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.ResourceLocation; diff --git a/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java b/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java index 3c34e3cb8..f246b9ffb 100644 --- a/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java +++ b/src/main/java/appeng/client/render/crafting/CraftingCubeModel.java @@ -21,8 +21,8 @@ package appeng.client.render.crafting; import java.util.Collection; import java.util.Collections; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import net.minecraft.client.renderer.block.model.IBakedModel; diff --git a/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java b/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java index 5af5308af..3c3336702 100644 --- a/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java +++ b/src/main/java/appeng/client/render/crafting/CraftingMonitorTESR.java @@ -38,7 +38,7 @@ public class CraftingMonitorTESR extends TileEntitySpecialRenderer handlePerspective( ItemCameraTransforms.TransformType cameraTransformType ) { - if( baseModel instanceof IPerspectiveAwareModel ) + if( baseModel instanceof IBakedModel ) { - return ( (IPerspectiveAwareModel) baseModel ).handlePerspective( cameraTransformType ); + return ( (IBakedModel) baseModel ).handlePerspective( cameraTransformType ); } - return IPerspectiveAwareModel.MapWrapper.handlePerspective( this, transforms, cameraTransformType ); + return PerspectiveMapWrapper.handlePerspective( this, transforms, cameraTransformType ); } /** @@ -110,7 +111,7 @@ class ItemEncodedPatternBakedModel implements IPerspectiveAwareModel * Usually those methods only matter for rendering on the ground and other cases, where we wouldn't render the crafting output model anyway, * so in those cases we delegate to the model of the encoded pattern. */ - private class ShiftHoldingModelWrapper implements IPerspectiveAwareModel + private class ShiftHoldingModelWrapper implements IBakedModel { private final IBakedModel outputModel; @@ -141,12 +142,12 @@ class ItemEncodedPatternBakedModel implements IPerspectiveAwareModel GlStateManager.enableLighting(); } - if( selectedModel instanceof IPerspectiveAwareModel ) + if( selectedModel instanceof IBakedModel ) { - return ( (IPerspectiveAwareModel) selectedModel ).handlePerspective( cameraTransformType ); + return ( (IBakedModel) selectedModel ).handlePerspective( cameraTransformType ); } - return IPerspectiveAwareModel.MapWrapper.handlePerspective( this, transforms, cameraTransformType ); + return PerspectiveMapWrapper.handlePerspective( this, transforms, cameraTransformType ); } @Override diff --git a/src/main/java/appeng/client/render/crafting/ItemEncodedPatternModel.java b/src/main/java/appeng/client/render/crafting/ItemEncodedPatternModel.java index f316c7d7e..88743692d 100644 --- a/src/main/java/appeng/client/render/crafting/ItemEncodedPatternModel.java +++ b/src/main/java/appeng/client/render/crafting/ItemEncodedPatternModel.java @@ -3,8 +3,8 @@ package appeng.client.render.crafting; import java.util.Collection; import java.util.Collections; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableMap; import net.minecraft.client.renderer.block.model.IBakedModel; @@ -13,8 +13,8 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.IModel; -import net.minecraftforge.client.model.IPerspectiveAwareModel; import net.minecraftforge.client.model.ModelLoaderRegistry; +import net.minecraftforge.client.model.PerspectiveMapWrapper; import net.minecraftforge.common.model.IModelState; import net.minecraftforge.common.model.TRSRTransformation; @@ -54,7 +54,7 @@ class ItemEncodedPatternModel implements IModel throw new RuntimeException( e ); } - ImmutableMap transforms = IPerspectiveAwareModel.MapWrapper.getTransforms(state); + ImmutableMap transforms = PerspectiveMapWrapper.getTransforms(state); return new ItemEncodedPatternBakedModel( baseModel, transforms ); } diff --git a/src/main/java/appeng/client/render/effects/AssemblerFX.java b/src/main/java/appeng/client/render/effects/AssemblerFX.java index 76b53fa96..3881d6c1d 100644 --- a/src/main/java/appeng/client/render/effects/AssemblerFX.java +++ b/src/main/java/appeng/client/render/effects/AssemblerFX.java @@ -20,7 +20,7 @@ package appeng.client.render.effects; import net.minecraft.client.particle.Particle; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.entity.Entity; import net.minecraft.world.World; @@ -93,7 +93,7 @@ public class AssemblerFX extends Particle implements ICanDie } @Override - public void renderParticle( final VertexBuffer par1Tessellator, final Entity p_180434_2_, final float l, final float rX, final float rY, final float rZ, final float rYZ, final float rXY ) + public void renderParticle( final BufferBuilder par1Tessellator, final Entity p_180434_2_, final float l, final float rX, final float rY, final float rZ, final float rYZ, final float rXY ) { this.time += l; if( this.time > 4.0 ) diff --git a/src/main/java/appeng/client/render/effects/CraftingFx.java b/src/main/java/appeng/client/render/effects/CraftingFx.java index defab6ee8..ed65f5f87 100644 --- a/src/main/java/appeng/client/render/effects/CraftingFx.java +++ b/src/main/java/appeng/client/render/effects/CraftingFx.java @@ -20,7 +20,7 @@ package appeng.client.render.effects; import net.minecraft.client.particle.ParticleBreaking; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.Entity; import net.minecraft.item.Item; @@ -67,7 +67,7 @@ public class CraftingFx extends ParticleBreaking } @Override - public void renderParticle( final VertexBuffer par1Tessellator, final Entity p_180434_2_, final float partialTick, final float x, final float y, final float z, final float rx, final float rz ) + public void renderParticle( final BufferBuilder par1Tessellator, final Entity p_180434_2_, final float partialTick, final float x, final float y, final float z, final float rx, final float rz ) { if( partialTick < 0 || partialTick > 1 ) { diff --git a/src/main/java/appeng/client/render/effects/EnergyFx.java b/src/main/java/appeng/client/render/effects/EnergyFx.java index 8067577cb..674da1a2c 100644 --- a/src/main/java/appeng/client/render/effects/EnergyFx.java +++ b/src/main/java/appeng/client/render/effects/EnergyFx.java @@ -20,7 +20,7 @@ package appeng.client.render.effects; import net.minecraft.client.particle.ParticleBreaking; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.Entity; import net.minecraft.item.Item; @@ -66,7 +66,7 @@ public class EnergyFx extends ParticleBreaking } @Override - public void renderParticle( final VertexBuffer par1Tessellator, final Entity p_180434_2_, final float partialTicks, final float par3, final float par4, final float par5, final float par6, final float par7 ) + public void renderParticle( final BufferBuilder par1Tessellator, final Entity p_180434_2_, final float partialTicks, final float par3, final float par4, final float par5, final float par6, final float par7 ) { final float f6 = this.particleTextureIndex.getMinU(); final float f7 = this.particleTextureIndex.getMaxU(); diff --git a/src/main/java/appeng/client/render/effects/LightningFX.java b/src/main/java/appeng/client/render/effects/LightningFX.java index c445bea32..a1b9ec227 100644 --- a/src/main/java/appeng/client/render/effects/LightningFX.java +++ b/src/main/java/appeng/client/render/effects/LightningFX.java @@ -23,7 +23,7 @@ import java.util.Random; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.Particle; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.math.MathHelper; @@ -96,7 +96,7 @@ public class LightningFX extends Particle } @Override - public void renderParticle( final VertexBuffer tess, final Entity p_180434_2_, final float l, final float rX, final float rY, final float rZ, final float rYZ, final float rXY ) + public void renderParticle( final BufferBuilder tess, final Entity p_180434_2_, final float l, final float rX, final float rY, final float rZ, final float rYZ, final float rXY ) { final float j = 1.0f; float red = this.particleRed * j * 0.9f; @@ -222,7 +222,7 @@ public class LightningFX extends Particle this.hasData = false; } - private void draw( float red, float green, float blue, final VertexBuffer tess, final double[] a, final double[] b, final double f6, final double f8 ) + private void draw( float red, float green, float blue, final BufferBuilder tess, final double[] a, final double[] b, final double f6, final double f8 ) { if( this.hasData ) { diff --git a/src/main/java/appeng/client/render/effects/MatterCannonFX.java b/src/main/java/appeng/client/render/effects/MatterCannonFX.java index 2efd149ed..444544bb9 100644 --- a/src/main/java/appeng/client/render/effects/MatterCannonFX.java +++ b/src/main/java/appeng/client/render/effects/MatterCannonFX.java @@ -20,7 +20,7 @@ package appeng.client.render.effects; import net.minecraft.client.particle.ParticleBreaking; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.Entity; import net.minecraft.item.Item; @@ -84,7 +84,7 @@ public class MatterCannonFX extends ParticleBreaking } @Override - public void renderParticle( final VertexBuffer par1Tessellator, final Entity p_180434_2_, final float par2, final float par3, final float par4, final float par5, final float par6, final float par7 ) + public void renderParticle( final BufferBuilder par1Tessellator, final Entity p_180434_2_, final float par2, final float par3, final float par4, final float par5, final float par6, final float par7 ) { final float f6 = this.particleTextureIndex.getMinU(); final float f7 = this.particleTextureIndex.getMaxU(); diff --git a/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java b/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java index 5f4633d79..454d98715 100644 --- a/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java +++ b/src/main/java/appeng/client/render/model/BiometricCardBakedModel.java @@ -14,6 +14,7 @@ import com.google.common.cache.CacheBuilder; import com.google.common.collect.ImmutableList; import com.mojang.authlib.GameProfile; +import net.minecraftforge.client.model.IModel; import org.apache.commons.lang3.tuple.Pair; import net.minecraft.block.state.IBlockState; @@ -27,7 +28,6 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.world.World; -import net.minecraftforge.client.model.IPerspectiveAwareModel; import net.minecraftforge.common.model.TRSRTransformation; import appeng.api.implementations.items.IBiometricCard; @@ -36,7 +36,7 @@ import appeng.client.render.cablebus.CubeBuilder; import appeng.core.AELog; -class BiometricCardBakedModel implements IPerspectiveAwareModel +class BiometricCardBakedModel implements IBakedModel { private final VertexFormat format; @@ -212,9 +212,9 @@ class BiometricCardBakedModel implements IPerspectiveAwareModel public Pair handlePerspective( ItemCameraTransforms.TransformType type ) { // Delegate to the base model if possible - if( baseModel instanceof IPerspectiveAwareModel ) + if( baseModel instanceof IModel ) { - IPerspectiveAwareModel pam = (IPerspectiveAwareModel) baseModel; + IBakedModel pam = (IBakedModel) baseModel; Pair pair = pam.handlePerspective( type ); return Pair.of( this, pair.getValue() ); } diff --git a/src/main/java/appeng/client/render/model/BiometricCardModel.java b/src/main/java/appeng/client/render/model/BiometricCardModel.java index 4fb56227c..d473f356c 100644 --- a/src/main/java/appeng/client/render/model/BiometricCardModel.java +++ b/src/main/java/appeng/client/render/model/BiometricCardModel.java @@ -3,8 +3,7 @@ package appeng.client.render.model; import java.util.Collection; import java.util.Collections; - -import com.google.common.base.Function; +import java.util.function.Function; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.texture.TextureAtlasSprite; diff --git a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java index c674c1d1b..d48b1045d 100644 --- a/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java +++ b/src/main/java/appeng/client/render/model/ColorApplicatorBakedModel.java @@ -10,6 +10,7 @@ import javax.vecmath.Matrix4f; import com.google.common.collect.ImmutableMap; +import net.minecraftforge.client.model.PerspectiveMapWrapper; import org.apache.commons.lang3.tuple.Pair; import net.minecraft.block.state.IBlockState; @@ -19,11 +20,10 @@ import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.block.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.util.EnumFacing; -import net.minecraftforge.client.model.IPerspectiveAwareModel; import net.minecraftforge.common.model.TRSRTransformation; -class ColorApplicatorBakedModel implements IPerspectiveAwareModel +class ColorApplicatorBakedModel implements IBakedModel { private final IBakedModel baseModel; @@ -138,6 +138,6 @@ class ColorApplicatorBakedModel implements IPerspectiveAwareModel @Override public Pair handlePerspective( ItemCameraTransforms.TransformType type ) { - return MapWrapper.handlePerspective( this, transforms, type ); + return PerspectiveMapWrapper.handlePerspective( this, transforms, type ); } } diff --git a/src/main/java/appeng/client/render/model/ColorApplicatorModel.java b/src/main/java/appeng/client/render/model/ColorApplicatorModel.java index e1ca3351f..edbbcfb6c 100644 --- a/src/main/java/appeng/client/render/model/ColorApplicatorModel.java +++ b/src/main/java/appeng/client/render/model/ColorApplicatorModel.java @@ -3,8 +3,8 @@ package appeng.client.render.model; import java.util.Collection; import java.util.Collections; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -14,8 +14,8 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.IModel; -import net.minecraftforge.client.model.IPerspectiveAwareModel; import net.minecraftforge.client.model.ModelLoaderRegistry; +import net.minecraftforge.client.model.PerspectiveMapWrapper; import net.minecraftforge.common.model.IModelState; import net.minecraftforge.common.model.TRSRTransformation; @@ -59,7 +59,7 @@ public class ColorApplicatorModel implements IModel TextureAtlasSprite texMedium = bakedTextureGetter.apply( TEXTURE_MEDIUM ); TextureAtlasSprite texBright = bakedTextureGetter.apply( TEXTURE_BRIGHT ); - ImmutableMap map = IPerspectiveAwareModel.MapWrapper.getTransforms( state ); + ImmutableMap map = PerspectiveMapWrapper.getTransforms( state ); return new ColorApplicatorBakedModel( baseModel, map, texDark, texMedium, texBright ); } diff --git a/src/main/java/appeng/client/render/model/DriveModel.java b/src/main/java/appeng/client/render/model/DriveModel.java index 347bd561d..08dc4b772 100644 --- a/src/main/java/appeng/client/render/model/DriveModel.java +++ b/src/main/java/appeng/client/render/model/DriveModel.java @@ -22,8 +22,9 @@ import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.Map; +import java.util.Optional; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -37,6 +38,7 @@ import net.minecraftforge.common.model.IModelState; import net.minecraftforge.common.model.TRSRTransformation; import appeng.block.storage.DriveSlotState; +import net.minecraftforge.common.model.animation.IClip; public class DriveModel implements IModel @@ -94,4 +96,34 @@ public class DriveModel implements IModel { return TRSRTransformation.identity(); } + + @Override + public Optional getClip(String name) { + return Optional.empty(); + } + + @Override + public IModel process(ImmutableMap customData) { + return null; + } + + @Override + public IModel smoothLighting(boolean value) { + return null; + } + + @Override + public IModel gui3d(boolean value) { + return null; + } + + @Override + public IModel uvlock(boolean value) { + return null; + } + + @Override + public IModel retexture(ImmutableMap textures) { + return null; + } } diff --git a/src/main/java/appeng/client/render/model/GlassBakedModel.java b/src/main/java/appeng/client/render/model/GlassBakedModel.java index 26c44a0fd..8d8b1ed5b 100644 --- a/src/main/java/appeng/client/render/model/GlassBakedModel.java +++ b/src/main/java/appeng/client/render/model/GlassBakedModel.java @@ -23,11 +23,11 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; +import java.util.function.Function; import java.util.stream.IntStream; import javax.annotation.Nullable; -import com.google.common.base.Function; import com.google.common.base.Strings; import net.minecraft.block.state.IBlockState; diff --git a/src/main/java/appeng/client/render/model/GlassModel.java b/src/main/java/appeng/client/render/model/GlassModel.java index 51061a13d..6ccae53da 100644 --- a/src/main/java/appeng/client/render/model/GlassModel.java +++ b/src/main/java/appeng/client/render/model/GlassModel.java @@ -21,8 +21,8 @@ package appeng.client.render.model; import java.util.Collection; import java.util.Collections; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableSet; import net.minecraft.client.renderer.block.model.IBakedModel; diff --git a/src/main/java/appeng/client/render/model/SkyCompassModel.java b/src/main/java/appeng/client/render/model/SkyCompassModel.java index f19939272..69e7c711a 100644 --- a/src/main/java/appeng/client/render/model/SkyCompassModel.java +++ b/src/main/java/appeng/client/render/model/SkyCompassModel.java @@ -22,8 +22,8 @@ package appeng.client.render.model; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; import net.minecraft.client.renderer.block.model.IBakedModel; diff --git a/src/main/java/appeng/client/render/model/UVLModelLoader.java b/src/main/java/appeng/client/render/model/UVLModelLoader.java index 5dd369292..e70455ec9 100644 --- a/src/main/java/appeng/client/render/model/UVLModelLoader.java +++ b/src/main/java/appeng/client/render/model/UVLModelLoader.java @@ -32,11 +32,11 @@ import java.lang.reflect.Type; import java.util.Collection; import java.util.HashMap; import java.util.Map; +import java.util.function.Function; import javax.annotation.Nullable; import com.google.common.base.Charsets; -import com.google.common.base.Function; import com.google.common.base.Throwables; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/src/main/java/appeng/client/render/renderable/ItemRenderable.java b/src/main/java/appeng/client/render/renderable/ItemRenderable.java index 6e1459f01..5a9175e2a 100644 --- a/src/main/java/appeng/client/render/renderable/ItemRenderable.java +++ b/src/main/java/appeng/client/render/renderable/ItemRenderable.java @@ -22,13 +22,13 @@ package appeng.client.render.renderable; import java.nio.FloatBuffer; import java.util.function.Function; +import net.minecraft.client.renderer.BufferBuilder; import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.BufferUtils; import org.lwjgl.util.vector.Matrix4f; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.block.model.ItemCameraTransforms.TransformType; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -64,7 +64,7 @@ public class ItemRenderable implements Renderable } @Override - public void renderTileEntityFast( T te, double x, double y, double z, float partialTicks, int destroyStage, VertexBuffer buffer ) + public void renderTileEntityFast( T te, double x, double y, double z, float partialTicks, int destroyStage, BufferBuilder buffer ) { } diff --git a/src/main/java/appeng/client/render/renderable/Renderable.java b/src/main/java/appeng/client/render/renderable/Renderable.java index cfcb34986..ed01211f4 100644 --- a/src/main/java/appeng/client/render/renderable/Renderable.java +++ b/src/main/java/appeng/client/render/renderable/Renderable.java @@ -18,8 +18,7 @@ package appeng.client.render.renderable; - -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.tileentity.TileEntity; @@ -28,6 +27,6 @@ public interface Renderable public void renderTileEntityAt( T te, double x, double y, double z, float partialTicks, int destroyStage ); - public void renderTileEntityFast( T te, double x, double y, double z, float partialTicks, int destroyStage, VertexBuffer buffer ); + public void renderTileEntityFast( T te, double x, double y, double z, float partialTicks, int destroyStage, BufferBuilder buffer ); } diff --git a/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java b/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java index 09bf9f0f7..b60432c13 100644 --- a/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java +++ b/src/main/java/appeng/client/render/spatial/SpatialPylonModel.java @@ -24,10 +24,9 @@ import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; -import com.google.common.base.Function; - import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.vertex.VertexFormat; diff --git a/src/main/java/appeng/client/render/tesr/CrankTESR.java b/src/main/java/appeng/client/render/tesr/CrankTESR.java index 3a997e1a4..2f63dda4c 100644 --- a/src/main/java/appeng/client/render/tesr/CrankTESR.java +++ b/src/main/java/appeng/client/render/tesr/CrankTESR.java @@ -19,6 +19,7 @@ package appeng.client.render.tesr; +import net.minecraft.client.renderer.BufferBuilder; import org.lwjgl.opengl.GL11; import net.minecraft.block.state.IBlockState; @@ -27,7 +28,6 @@ import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -47,7 +47,7 @@ public class CrankTESR extends TileEntitySpecialRenderer { @Override - public void renderTileEntityAt( TileCrank te, double x, double y, double z, float partialTicks, int destroyStage ) + public void render( TileCrank te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_ ) { // Most of this is blatantly copied from FastTESR Tessellator tessellator = Tessellator.getInstance(); @@ -71,7 +71,7 @@ public class CrankTESR extends TileEntitySpecialRenderer BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher(); IBakedModel model = dispatcher.getModelForState( blockState ); - VertexBuffer buffer = tessellator.getBuffer(); + BufferBuilder buffer = tessellator.getBuffer(); buffer.begin( GL11.GL_QUADS, DefaultVertexFormats.BLOCK ); // The translation ensures the vertex buffer positions are relative to 0,0,0 instead of the block pos diff --git a/src/main/java/appeng/client/render/tesr/InscriberTESR.java b/src/main/java/appeng/client/render/tesr/InscriberTESR.java index 31dc270cb..0285f27dd 100644 --- a/src/main/java/appeng/client/render/tesr/InscriberTESR.java +++ b/src/main/java/appeng/client/render/tesr/InscriberTESR.java @@ -1,8 +1,8 @@ package appeng.client.render.tesr; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import org.lwjgl.opengl.GL11; import net.minecraft.block.Block; @@ -10,7 +10,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureMap; @@ -41,7 +40,7 @@ public class InscriberTESR extends TileEntitySpecialRenderer private static TextureAtlasSprite textureInside; @Override - public void renderTileEntityAt( TileInscriber tile, double x, double y, double z, float partialTicks, int destroyStage ) + public void render( TileInscriber tile, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_ ) { // render inscriber @@ -89,7 +88,7 @@ public class InscriberTESR extends TileEntitySpecialRenderer float press = 0.2f; press -= progress / 5.0f; - VertexBuffer buffer = Tessellator.getInstance().getBuffer(); + BufferBuilder buffer = Tessellator.getInstance().getBuffer(); buffer.begin( GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX ); float middle = 0.5f; @@ -177,7 +176,7 @@ public class InscriberTESR extends TileEntitySpecialRenderer GlStateManager.enableRescaleNormal(); } - private void renderItem( ItemStack sis, final float o, final AEBaseTile tile, final VertexBuffer tess, final double x, final double y, final double z ) + private void renderItem( ItemStack sis, final float o, final AEBaseTile tile, final BufferBuilder tess, final double x, final double y, final double z ) { if( !sis.isEmpty() ) { diff --git a/src/main/java/appeng/client/render/tesr/ModularTESR.java b/src/main/java/appeng/client/render/tesr/ModularTESR.java index dda3b8c45..6f8c921e5 100644 --- a/src/main/java/appeng/client/render/tesr/ModularTESR.java +++ b/src/main/java/appeng/client/render/tesr/ModularTESR.java @@ -19,8 +19,8 @@ package appeng.client.render.tesr; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -42,7 +42,7 @@ public class ModularTESR extends TileEntitySpecialRenderer } @Override - public void renderTileEntityAt( T te, double x, double y, double z, float partialTicks, int destroyStage ) + public void render( T te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_ ) { GlStateManager.pushMatrix(); GlStateManager.translate( x, y, z ); @@ -57,7 +57,7 @@ public class ModularTESR extends TileEntitySpecialRenderer } @Override - public void renderTileEntityFast( T te, double x, double y, double z, float partialTicks, int destroyStage, VertexBuffer buffer ) + public void renderTileEntityFast( T te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_, BufferBuilder buffer ) { GlStateManager.pushMatrix(); GlStateManager.translate( x, y, z ); diff --git a/src/main/java/appeng/client/render/tesr/SkyChestTESR.java b/src/main/java/appeng/client/render/tesr/SkyChestTESR.java index 513db7349..ba0c5dc81 100644 --- a/src/main/java/appeng/client/render/tesr/SkyChestTESR.java +++ b/src/main/java/appeng/client/render/tesr/SkyChestTESR.java @@ -50,7 +50,7 @@ public class SkyChestTESR extends TileEntitySpecialRenderer } @Override - public void renderTileEntityAt( TileSkyChest te, double x, double y, double z, float partialTicks, int destroyStage ) + public void render( TileSkyChest te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_ ) { GlStateManager.enableDepth(); GlStateManager.depthFunc( 515 ); diff --git a/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java b/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java index 177aab45a..6576e44ac 100644 --- a/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java +++ b/src/main/java/appeng/client/render/tesr/SkyCompassTESR.java @@ -22,7 +22,7 @@ package appeng.client.render.tesr; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.BlockRendererDispatcher; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; @@ -47,7 +47,7 @@ public class SkyCompassTESR extends FastTESR private static BlockRendererDispatcher blockRenderer; @Override - public void renderTileEntityFast( TileSkyCompass te, double x, double y, double z, float partialTicks, int destroyStage, VertexBuffer buffer ) + public void renderTileEntityFast( TileSkyCompass te, double x, double y, double z, float partialTicks, int destroyStage, float var10, BufferBuilder buffer ) { if( !te.hasWorld() ) diff --git a/src/main/java/appeng/container/implementations/ContainerCraftingTerm.java b/src/main/java/appeng/container/implementations/ContainerCraftingTerm.java index 7cb8e8a1d..fd734683d 100644 --- a/src/main/java/appeng/container/implementations/ContainerCraftingTerm.java +++ b/src/main/java/appeng/container/implementations/ContainerCraftingTerm.java @@ -80,7 +80,7 @@ public class ContainerCraftingTerm extends ContainerMEMonitorable implements IAE ic.setInventorySlotContents( x, this.craftingSlots[x].getStack() ); } - this.outputSlot.putStack( CraftingManager.getInstance().findMatchingRecipe( ic, this.getPlayerInv().player.world ) ); + this.outputSlot.putStack( CraftingManager.findMatchingResult( ic, this.getPlayerInv().player.world ) ); } @Override diff --git a/src/main/java/appeng/container/implementations/ContainerPatternTerm.java b/src/main/java/appeng/container/implementations/ContainerPatternTerm.java index b9600fb6f..73e330418 100644 --- a/src/main/java/appeng/container/implementations/ContainerPatternTerm.java +++ b/src/main/java/appeng/container/implementations/ContainerPatternTerm.java @@ -159,7 +159,7 @@ public class ContainerPatternTerm extends ContainerMEMonitorable implements IAEA ic.setInventorySlotContents( x, this.crafting.getStackInSlot( x ) ); } - final ItemStack is = CraftingManager.getInstance().findMatchingRecipe( ic, this.getPlayerInv().player.world ); + final ItemStack is = CraftingManager.findMatchingResult( ic, this.getPlayerInv().player.world ); this.cOut.setInventorySlotContents( 0, is ); return is; } diff --git a/src/main/java/appeng/container/slot/AppEngCraftingSlot.java b/src/main/java/appeng/container/slot/AppEngCraftingSlot.java index c7b5308ac..c56ff10c5 100644 --- a/src/main/java/appeng/container/slot/AppEngCraftingSlot.java +++ b/src/main/java/appeng/container/slot/AppEngCraftingSlot.java @@ -31,7 +31,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.item.ItemTool; import net.minecraft.item.crafting.CraftingManager; -import net.minecraft.stats.AchievementList; import net.minecraft.util.NonNullList; @@ -89,55 +88,55 @@ public class AppEngCraftingSlot extends AppEngSlot par1ItemStack.onCrafting( this.thePlayer.world, this.thePlayer, this.amountCrafted ); this.amountCrafted = 0; - if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.CRAFTING_TABLE ) ) - { - this.thePlayer.addStat( AchievementList.BUILD_WORK_BENCH, 1 ); - } - - if( par1ItemStack.getItem() instanceof ItemPickaxe ) - { - this.thePlayer.addStat( AchievementList.BUILD_PICKAXE, 1 ); - } - - if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.FURNACE ) ) - { - this.thePlayer.addStat( AchievementList.BUILD_FURNACE, 1 ); - } - - if( par1ItemStack.getItem() instanceof ItemHoe ) - { - this.thePlayer.addStat( AchievementList.BUILD_HOE, 1 ); - } - - if( par1ItemStack.getItem() == Items.BREAD ) - { - this.thePlayer.addStat( AchievementList.MAKE_BREAD, 1 ); - } - - if( par1ItemStack.getItem() == Items.CAKE ) - { - this.thePlayer.addStat( AchievementList.BAKE_CAKE, 1 ); - } - - if( par1ItemStack.getItem() instanceof ItemPickaxe && ( (ItemTool) par1ItemStack.getItem() ).getToolMaterial() != Item.ToolMaterial.WOOD ) - { - this.thePlayer.addStat( AchievementList.BUILD_BETTER_PICKAXE, 1 ); - } - - if( par1ItemStack.getItem() instanceof ItemSword ) - { - this.thePlayer.addStat( AchievementList.BUILD_SWORD, 1 ); - } - - if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.ENCHANTING_TABLE ) ) - { - this.thePlayer.addStat( AchievementList.ENCHANTMENTS, 1 ); - } - - if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.BOOKSHELF ) ) - { - this.thePlayer.addStat( AchievementList.BOOKCASE, 1 ); - } +// if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.CRAFTING_TABLE ) ) +// { +// this.thePlayer.addStat( AchievementList.BUILD_WORK_BENCH, 1 ); +// } +// +// if( par1ItemStack.getItem() instanceof ItemPickaxe ) +// { +// this.thePlayer.addStat( AchievementList.BUILD_PICKAXE, 1 ); +// } +// +// if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.FURNACE ) ) +// { +// this.thePlayer.addStat( AchievementList.BUILD_FURNACE, 1 ); +// } +// +// if( par1ItemStack.getItem() instanceof ItemHoe ) +// { +// this.thePlayer.addStat( AchievementList.BUILD_HOE, 1 ); +// } +// +// if( par1ItemStack.getItem() == Items.BREAD ) +// { +// this.thePlayer.addStat( AchievementList.MAKE_BREAD, 1 ); +// } +// +// if( par1ItemStack.getItem() == Items.CAKE ) +// { +// this.thePlayer.addStat( AchievementList.BAKE_CAKE, 1 ); +// } +// +// if( par1ItemStack.getItem() instanceof ItemPickaxe && ( (ItemTool) par1ItemStack.getItem() ).getToolMaterial() != Item.ToolMaterial.WOOD ) +// { +// this.thePlayer.addStat( AchievementList.BUILD_BETTER_PICKAXE, 1 ); +// } +// +// if( par1ItemStack.getItem() instanceof ItemSword ) +// { +// this.thePlayer.addStat( AchievementList.BUILD_SWORD, 1 ); +// } +// +// if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.ENCHANTING_TABLE ) ) +// { +// this.thePlayer.addStat( AchievementList.ENCHANTMENTS, 1 ); +// } +// +// if( par1ItemStack.getItem() == Item.getItemFromBlock( Blocks.BOOKSHELF ) ) +// { +// this.thePlayer.addStat( AchievementList.BOOKCASE, 1 ); +// } } @Override @@ -153,7 +152,7 @@ public class AppEngCraftingSlot extends AppEngSlot ic.setInventorySlotContents( x, this.craftMatrix.getStackInSlot( x ) ); } - final NonNullList aitemstack = CraftingManager.getInstance().getRemainingItems( ic, playerIn.world ); + final NonNullList aitemstack = CraftingManager.getRemainingItems( ic, playerIn.world ); for( int x = 0; x < this.craftMatrix.getSizeInventory(); x++ ) { diff --git a/src/main/java/appeng/container/slot/AppEngSlot.java b/src/main/java/appeng/container/slot/AppEngSlot.java index 2ea4e688b..883efda91 100644 --- a/src/main/java/appeng/container/slot/AppEngSlot.java +++ b/src/main/java/appeng/container/slot/AppEngSlot.java @@ -27,6 +27,8 @@ import net.minecraft.item.ItemStack; import appeng.container.AEBaseContainer; import appeng.tile.inventory.AppEngInternalInventory; +import javax.annotation.Nonnull; + public class AppEngSlot extends Slot { @@ -81,6 +83,7 @@ public class AppEngSlot extends Slot } @Override + @Nonnull public ItemStack getStack() { if( !this.isEnabled() ) diff --git a/src/main/java/appeng/container/slot/NullSlot.java b/src/main/java/appeng/container/slot/NullSlot.java index f2c3b7d1c..297c09619 100644 --- a/src/main/java/appeng/container/slot/NullSlot.java +++ b/src/main/java/appeng/container/slot/NullSlot.java @@ -24,6 +24,8 @@ import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import javax.annotation.Nonnull; + public class NullSlot extends Slot { @@ -52,6 +54,7 @@ public class NullSlot extends Slot } @Override + @Nonnull public ItemStack getStack() { return ItemStack.EMPTY; diff --git a/src/main/java/appeng/container/slot/OptionalSlotFake.java b/src/main/java/appeng/container/slot/OptionalSlotFake.java index 427d21020..b51a8bff4 100644 --- a/src/main/java/appeng/container/slot/OptionalSlotFake.java +++ b/src/main/java/appeng/container/slot/OptionalSlotFake.java @@ -22,6 +22,8 @@ package appeng.container.slot; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; +import javax.annotation.Nonnull; + public class OptionalSlotFake extends SlotFake { @@ -42,6 +44,7 @@ public class OptionalSlotFake extends SlotFake } @Override + @Nonnull public ItemStack getStack() { if( !this.isEnabled() ) diff --git a/src/main/java/appeng/core/Api.java b/src/main/java/appeng/core/Api.java index a08b9fe2b..0cbfe1540 100644 --- a/src/main/java/appeng/core/Api.java +++ b/src/main/java/appeng/core/Api.java @@ -55,6 +55,11 @@ public final class Api implements IAppEngApi this.definitions = new ApiDefinitions( (PartModels) this.registryContainer.partModels() ); } + public PartModels getPartModels() + { + return (PartModels) this.registryContainer.partModels(); + } + @Override public IRegistryContainer registries() { diff --git a/src/main/java/appeng/core/ApiDefinitions.java b/src/main/java/appeng/core/ApiDefinitions.java index a82dafc58..892eb6f23 100644 --- a/src/main/java/appeng/core/ApiDefinitions.java +++ b/src/main/java/appeng/core/ApiDefinitions.java @@ -26,6 +26,11 @@ import appeng.core.api.definitions.ApiItems; import appeng.core.api.definitions.ApiMaterials; import appeng.core.api.definitions.ApiParts; import appeng.core.features.registries.PartModels; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.world.biome.Biome; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; /** @@ -33,8 +38,9 @@ import appeng.core.features.registries.PartModels; */ public final class ApiDefinitions implements IDefinitions { - private final ApiBlocks blocks; - private final ApiItems items; + // TODO : Check if this can be final again after the Register part. + private ApiBlocks blocks; + private ApiItems items; private final ApiMaterials materials; private final ApiParts parts; @@ -47,6 +53,16 @@ public final class ApiDefinitions implements IDefinitions this.materials = new ApiMaterials( registry ); this.parts = new ApiParts( registry, partModels ); } +// +// public void addBlocks( final PartModels partModels ) +// { +// this.blocks = new ApiBlocks( registry, partModels ); +// } +// +// public void addItems() +// { +// this.items = new ApiItems( registry ); +// } public FeatureFactory getRegistry() { diff --git a/src/main/java/appeng/core/AppEng.java b/src/main/java/appeng/core/AppEng.java index 0ee2a0e83..b0a9ba53a 100644 --- a/src/main/java/appeng/core/AppEng.java +++ b/src/main/java/appeng/core/AppEng.java @@ -28,6 +28,7 @@ import javax.annotation.Nonnull; import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Loader; @@ -64,8 +65,7 @@ import appeng.services.export.ForgeExportConfig; import appeng.services.version.VersionCheckerConfig; import appeng.util.Platform; - -@Mod( modid = AppEng.MOD_ID, acceptedMinecraftVersions = "[1.11]", name = AppEng.MOD_NAME, version = AEConfig.VERSION, dependencies = AppEng.MOD_DEPENDENCIES, guiFactory = "appeng.client.gui.config.AEConfigGuiFactory" ) +@Mod( modid = AppEng.MOD_ID, acceptedMinecraftVersions = "[1.12]", name = AppEng.MOD_NAME, version = AEConfig.VERSION, dependencies = AppEng.MOD_DEPENDENCIES, guiFactory = "appeng.client.gui.config.AEConfigGuiFactory" ) public final class AppEng { @SidedProxy( clientSide = "appeng.client.ClientHelper", serverSide = "appeng.server.ServerHelper", modId = AppEng.MOD_ID ) @@ -135,6 +135,7 @@ public final class AppEng { AppEng.proxy.missingCoreMod(); } + MinecraftForge.EVENT_BUS.register( registration ); final Stopwatch watch = Stopwatch.createStarted(); this.configDirectory = new File( event.getModConfigurationDirectory().getPath(), "AppliedEnergistics2" ); diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index bfb489543..b16e18b67 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -20,19 +20,36 @@ package appeng.core; import java.io.File; +import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Set; import javax.annotation.Nonnull; +import appeng.api.definitions.IBlockDefinition; +import appeng.api.definitions.IItemDefinition; +import appeng.api.definitions.ITileDefinition; +import appeng.api.util.AEColoredItemDefinition; +import appeng.core.api.definitions.ApiBlocks; import com.google.common.base.Preconditions; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.DimensionType; import net.minecraft.world.biome.Biome; +import net.minecraftforge.common.BiomeManager; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.API; +import net.minecraftforge.fml.common.Mod; 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.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.oredict.RecipeSorter; import net.minecraftforge.oredict.RecipeSorter.Category; @@ -103,14 +120,22 @@ import appeng.tile.AEBaseTile; import appeng.util.Platform; import appeng.worldgen.MeteoriteWorldGen; import appeng.worldgen.QuartzWorldGen; +import net.minecraftforge.registries.ForgeRegistry; +import net.minecraftforge.registries.IForgeRegistry; - +@Mod.EventBusSubscriber(modid = AppEng.MOD_ID) public final class Registration { private final RecipeHandler recipeHandler; private DimensionType storageDimensionType; private Biome storageBiome; + // TODO : 1.12 Improve + private static List blocksToRegister = new ArrayList(); + private static List itemsToRegister = new ArrayList(); + private static List recipesToRegister = new ArrayList(); + + Registration() { this.recipeHandler = new RecipeHandler(); @@ -121,6 +146,30 @@ public final class Registration return this.storageBiome; } + public static void addBlockToRegister( Block b ) + { + if( blocksToRegister == null ) + throw new IllegalStateException( "Past the registration phase already!" ); + System.out.println("Adding block : " + b +" -> " + b.getRegistryName()); + blocksToRegister.add( b ); + } + + public static void addRecipeToRegister( IRecipe r ) + { + if( recipesToRegister == null ) + throw new IllegalStateException( "Past the registration phase already!" ); + System.out.println("Adding " + r); + recipesToRegister.add( r ); + } + + public static void addItemToRegister( Item i ) + { + if( itemsToRegister == null ) + throw new IllegalStateException( "Past the registration phase already!" ); + System.out.println("Adding item : " + i + " -> " + i.getRegistryName()); + itemsToRegister.add( i ); + } + public DimensionType getStorageDimensionType() { return storageDimensionType; @@ -128,7 +177,7 @@ public final class Registration void preInitialize( final FMLPreInitializationEvent event ) { - this.registerSpatial( false ); +// this.registerSpatial( false ); Capabilities.register(); @@ -148,7 +197,7 @@ public final class Registration definitions.getRegistry().getBootstrapComponents().forEach( b -> b.preInitialize( event.getSide() ) ); } - private void registerSpatial( final boolean force ) + private void registerSpatial( final boolean force, IForgeRegistry registry ) { if( !AEConfig.instance().isFeatureEnabled( AEFeature.SPATIAL_IO ) ) { @@ -159,24 +208,28 @@ public final class Registration if( this.storageBiome == null ) { - if( force && config.getStorageBiomeID() == -1 ) - { - config.setStorageBiomeID( Platform.findEmpty( Biome.REGISTRY, 0, 256 ) ); - if( config.getStorageBiomeID() == -1 ) - { - throw new IllegalStateException( "Biome Array is full, please free up some Biome ID's or disable spatial." ); - } +// if( force && config.getStorageBiomeID() == -1 ) +// { +// config.setStorageBiomeID( Platform.findEmpty( Biome.REGISTRY, 0, 256 ) ); +// if( config.getStorageBiomeID() == -1 ) +// { +// throw new IllegalStateException( "Biome Array is full, please free up some Biome ID's or disable spatial." ); +// } +// +// this.storageBiome = new BiomeGenStorage(); +// Biome.registerBiome( config.getStorageBiomeID(), "appliedenergistics2:storage_biome", this.storageBiome ); +// config.save(); +// } +// +// if( !force && config.getStorageBiomeID() != -1 ) +// { +// this.storageBiome = new BiomeGenStorage(); +// Biome.registerBiome( config.getStorageBiomeID(), "appliedenergistics2:storage_biome", this.storageBiome ); +// } - this.storageBiome = new BiomeGenStorage(); - Biome.registerBiome( config.getStorageBiomeID(), "appliedenergistics2:storage_biome", this.storageBiome ); - config.save(); - } - - if( !force && config.getStorageBiomeID() != -1 ) - { - this.storageBiome = new BiomeGenStorage(); - Biome.registerBiome( config.getStorageBiomeID(), "appliedenergistics2:storage_biome", this.storageBiome ); - } + // TODO: 1.12, are modders allowed to even touch the ID's any more? + this.storageBiome = new BiomeGenStorage(); + registry.register( this.storageBiome.setRegistryName("appliedenergistics2:storage_biome") ); } @@ -297,24 +350,88 @@ public final class Registration registration.registerAchievementHandlers(); registration.registerAchievements(); - if( AEConfig.instance().isFeatureEnabled( AEFeature.ENABLE_DISASSEMBLY_CRAFTING ) ) - { - GameRegistry.addRecipe( new DisassembleRecipe() ); - RecipeSorter.register( "appliedenergistics2:disassemble", DisassembleRecipe.class, Category.SHAPELESS, "after:minecraft:shapeless" ); - } +// if( AEConfig.instance().isFeatureEnabled( AEFeature.ENABLE_DISASSEMBLY_CRAFTING ) ) +// { +// // TODO : 1.12 Improve +// addRecipeToRegister( new DisassembleRecipe() ); +// RecipeSorter.register( "appliedenergistics2:disassemble", DisassembleRecipe.class, Category.SHAPELESS, "after:minecraft:shapeless" ); +// } +// +// if( AEConfig.instance().isFeatureEnabled( AEFeature.ENABLE_FACADE_CRAFTING ) ) +// { +// definitions.items().facade().maybeItem().ifPresent( facadeItem -> { +// // TODO : 1.12 Improve +// addRecipeToRegister( new FacadeRecipe( (ItemFacade) facadeItem ) ); +// RecipeSorter.register( "appliedenergistics2:facade", FacadeRecipe.class, Category.SHAPED, "after:minecraft:shaped" ); +// } ); +// } + } - if( AEConfig.instance().isFeatureEnabled( AEFeature.ENABLE_FACADE_CRAFTING ) ) + @SubscribeEvent + void registerBiomes ( RegistryEvent.Register event ) + { + IForgeRegistry registry = event.getRegistry(); + this.registerSpatial( false, registry ); + } + + @SubscribeEvent + void registerBlocks(RegistryEvent.Register event) + { + IForgeRegistry registry = event.getRegistry(); + +// try { +// for ( Field f : Api.INSTANCE.definitions().blocks().getClass().getDeclaredFields() ) +// { +// f.setAccessible(true); +// if( f.getType() == IBlockDefinition.class || f.getType() == ITileDefinition.class ) { +// IBlockDefinition block = (IBlockDefinition) f.get(Api.INSTANCE.definitions().blocks()); +// Block b = block.maybeBlock().get(); +// System.out.println(b +" -> " + b.getRegistryName()); +// registry.register(b); +// } +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } + + // TODO : 1.12 Improve + for (Block b : blocksToRegister) { - definitions.items().facade().maybeItem().ifPresent( facadeItem -> { - GameRegistry.addRecipe( new FacadeRecipe( (ItemFacade) facadeItem ) ); - RecipeSorter.register( "appliedenergistics2:facade", FacadeRecipe.class, Category.SHAPED, "after:minecraft:shaped" ); - } ); + System.out.println("Registering block : " + b + " -> " + b.getRegistryName()); + registry.register( b ); } + blocksToRegister = null; + } + + @SubscribeEvent + void registerItems(RegistryEvent.Register event) { + + IForgeRegistry registry = event.getRegistry(); + // TODO : 1.12 Improve + for( Item i : itemsToRegister ) + { + System.out.println("Registering item : " + i + " -> " + i.getRegistryName()); + registry.register( i ); + } + itemsToRegister = null; + } + + @SubscribeEvent + void registerRecipes(RegistryEvent.Register event) + { + IForgeRegistry registry = event.getRegistry(); + // TODO : 1.12 Improve + for( IRecipe r : recipesToRegister ) + { + registry.register( r ); + } + recipesToRegister = null; + } void postInit( final FMLPostInitializationEvent event ) { - this.registerSpatial( true ); + // TODO : 1.12 Improve final Api api = Api.INSTANCE; final IRegistryContainer registries = api.registries(); diff --git a/src/main/java/appeng/core/stats/AchievementHierarchy.java b/src/main/java/appeng/core/stats/AchievementHierarchy.java index cb8df6804..f68e22554 100644 --- a/src/main/java/appeng/core/stats/AchievementHierarchy.java +++ b/src/main/java/appeng/core/stats/AchievementHierarchy.java @@ -32,30 +32,30 @@ public class AchievementHierarchy */ void registerAchievementHierarchy() { - Achievements.Presses.setParent( Achievements.Compass ); - - Achievements.Fluix.setParent( Achievements.ChargedQuartz ); - - Achievements.Charger.setParent( Achievements.Fluix ); - - Achievements.CrystalGrowthAccelerator.setParent( Achievements.Charger ); - - Achievements.GlassCable.setParent( Achievements.Charger ); - - Achievements.SpatialIOExplorer.setParent( Achievements.SpatialIO ); - - Achievements.IOPort.setParent( Achievements.StorageCell ); - - Achievements.PatternTerminal.setParent( Achievements.CraftingTerminal ); - - Achievements.Controller.setParent( Achievements.Networking1 ); - - Achievements.Networking2.setParent( Achievements.Controller ); - - Achievements.Networking3.setParent( Achievements.Networking2 ); - - Achievements.P2P.setParent( Achievements.Controller ); - - Achievements.Recursive.setParent( Achievements.Controller ); +// Achievements.Presses.setParent( Achievements.Compass ); +// +// Achievements.Fluix.setParent( Achievements.ChargedQuartz ); +// +// Achievements.Charger.setParent( Achievements.Fluix ); +// +// Achievements.CrystalGrowthAccelerator.setParent( Achievements.Charger ); +// +// Achievements.GlassCable.setParent( Achievements.Charger ); +// +// Achievements.SpatialIOExplorer.setParent( Achievements.SpatialIO ); +// +// Achievements.IOPort.setParent( Achievements.StorageCell ); +// +// Achievements.PatternTerminal.setParent( Achievements.CraftingTerminal ); +// +// Achievements.Controller.setParent( Achievements.Networking1 ); +// +// Achievements.Networking2.setParent( Achievements.Controller ); +// +// Achievements.Networking3.setParent( Achievements.Networking2 ); +// +// Achievements.P2P.setParent( Achievements.Controller ); +// +// Achievements.Recursive.setParent( Achievements.Controller ); } } diff --git a/src/main/java/appeng/core/stats/Achievements.java b/src/main/java/appeng/core/stats/Achievements.java index 4aa77aab5..3f93b0e82 100644 --- a/src/main/java/appeng/core/stats/Achievements.java +++ b/src/main/java/appeng/core/stats/Achievements.java @@ -19,9 +19,9 @@ package appeng.core.stats; +import net.minecraft.advancements.Advancement; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.stats.Achievement; import appeng.api.AEApi; import appeng.api.definitions.IItemDefinition; @@ -111,8 +111,8 @@ public enum Achievements private final int x; private final int y; - private Achievement parent; - private Achievement stat; + private Advancement parent; + private Advancement stat; Achievements( final int x, final int y, final AEColoredItemDefinition which, final AchievementType type ) { @@ -143,20 +143,20 @@ public enum Achievements this.parent = parent.getAchievement(); } - public Achievement getAchievement() + public Advancement getAchievement() { - if( this.stat == null && !this.getStack().isEmpty() ) - { - this.stat = new Achievement( "achievement.ae2." + this.name(), "ae2." + this.name(), this.x, this.y, this.getStack(), this.parent ); - this.stat.registerStat(); - } +// if( this.stat == null && !this.getStack().isEmpty() ) +// { +// this.stat = new Advancement( "achievement.ae2." + this.name(), "ae2." + this.name(), this.x, this.y, this.getStack(), this.parent ); +// this.stat.registerStat(); +// } return this.stat; } public void addToPlayer( final EntityPlayer player ) { - player.addStat( this.getAchievement(), 1 ); + // player.addStat( this.getAchievement(), 1 ); } AchievementType getType() diff --git a/src/main/java/appeng/core/stats/PlayerStatsRegistration.java b/src/main/java/appeng/core/stats/PlayerStatsRegistration.java index 7a03bbd77..fb04e27e0 100644 --- a/src/main/java/appeng/core/stats/PlayerStatsRegistration.java +++ b/src/main/java/appeng/core/stats/PlayerStatsRegistration.java @@ -19,10 +19,7 @@ package appeng.core.stats; -import java.util.ArrayList; - -import net.minecraft.stats.Achievement; -import net.minecraftforge.common.AchievementPage; +import net.minecraft.advancements.Advancement; import net.minecraftforge.fml.common.eventhandler.EventBus; import appeng.core.AEConfig; @@ -83,7 +80,7 @@ public class PlayerStatsRegistration /** * Registers the {@link appeng.core.stats.AchievementHierarchy} and adds all {@link appeng.core.stats.Achievements} - * to a new {@link net.minecraftforge.common.AchievementPage}. + * to a new {@link net.minecraft.advancements.Advancement}. */ public void registerAchievements() { @@ -100,19 +97,19 @@ public class PlayerStatsRegistration /** * register */ - final ArrayList list = new ArrayList(); - - for( final Achievements a : Achievements.values() ) - { - final Achievement ach = a.getAchievement(); - if( ach != null ) - { - list.add( ach ); - } - } - - final AchievementPage ae2AchievementPage = new AchievementPage( "Applied Energistics 2", list.toArray( new Achievement[list.size()] ) ); - AchievementPage.registerAchievementPage( ae2AchievementPage ); +// final ArrayList list = new ArrayList(); +// +// for( final Achievements a : Achievements.values() ) +// { +// final Achievement ach = a.getAchievement(); +// if( ach != null ) +// { +// list.add( ach ); +// } +// } +// +// final AchievementPage ae2AchievementPage = new AchievementPage( "Applied Energistics 2", list.toArray( new Achievement[list.size()] ) ); +// AchievementPage.registerAchievementPage( ae2AchievementPage ); } } } diff --git a/src/main/java/appeng/coremod/AppEngCore.java b/src/main/java/appeng/coremod/AppEngCore.java index 8e518ed11..e72a15fd0 100644 --- a/src/main/java/appeng/coremod/AppEngCore.java +++ b/src/main/java/appeng/coremod/AppEngCore.java @@ -38,7 +38,7 @@ import appeng.core.AEConfig; import org.apache.logging.log4j.Level; -@MCVersion( "1.11.2" ) +@MCVersion( "1.12" ) public final class AppEngCore extends DummyModContainer implements IFMLLoadingPlugin { private final ModMetadata metadata = new ModMetadata(); diff --git a/src/main/java/appeng/debug/TileItemGen.java b/src/main/java/appeng/debug/TileItemGen.java index d80959e45..ad23070f9 100644 --- a/src/main/java/appeng/debug/TileItemGen.java +++ b/src/main/java/appeng/debug/TileItemGen.java @@ -57,7 +57,7 @@ public class TileItemGen extends AEBaseTile implements IInventory else { final NonNullList list = NonNullList.create(); - mi.getSubItems( mi, mi.getCreativeTab(), list ); + mi.getSubItems( mi.getCreativeTab(), list ); POSSIBLE_ITEMS.addAll( list ); } } diff --git a/src/main/java/appeng/decorative/solid/BlockSkyStone.java b/src/main/java/appeng/decorative/solid/BlockSkyStone.java index 67f511247..aee4b76b3 100644 --- a/src/main/java/appeng/decorative/solid/BlockSkyStone.java +++ b/src/main/java/appeng/decorative/solid/BlockSkyStone.java @@ -21,7 +21,6 @@ package appeng.decorative.solid; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Items; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; diff --git a/src/main/java/appeng/entity/EntityChargedQuartz.java b/src/main/java/appeng/entity/EntityChargedQuartz.java index e09249267..3f7ba32fd 100644 --- a/src/main/java/appeng/entity/EntityChargedQuartz.java +++ b/src/main/java/appeng/entity/EntityChargedQuartz.java @@ -82,7 +82,7 @@ public final class EntityChargedQuartz extends AEBaseEntityItem final int k = MathHelper.floor( this.posZ ); IBlockState state = this.world.getBlockState( new BlockPos( j, i, k ) ); - final Material mat = state.getBlock().getMaterial( state ); + final Material mat = state.getMaterial(); if( Platform.isServer() && mat.isLiquid() ) { diff --git a/src/main/java/appeng/entity/RenderTinyTNTPrimed.java b/src/main/java/appeng/entity/RenderTinyTNTPrimed.java index 33f075e11..4447b15bf 100644 --- a/src/main/java/appeng/entity/RenderTinyTNTPrimed.java +++ b/src/main/java/appeng/entity/RenderTinyTNTPrimed.java @@ -79,7 +79,7 @@ public class RenderTinyTNTPrimed extends Render f2 = ( 1.0F - ( tnt.getFuse() - life + 1.0F ) / 100.0F ) * 0.8F; this.bindEntityTexture( tnt ); GlStateManager.translate( -0.5F, -0.5F, 0.5F ); - blockrendererdispatcher.renderBlockBrightness( Blocks.TNT.getDefaultState(), tnt.getBrightness( life ) ); + blockrendererdispatcher.renderBlockBrightness( Blocks.TNT.getDefaultState(), tnt.getBrightness() ); GlStateManager.translate( 0.0F, 0.0F, 1.0F ); if( tnt.getFuse() / 5 % 2 == 0 ) diff --git a/src/main/java/appeng/helpers/PatternHelper.java b/src/main/java/appeng/helpers/PatternHelper.java index 33da9a5b1..dc9564548 100644 --- a/src/main/java/appeng/helpers/PatternHelper.java +++ b/src/main/java/appeng/helpers/PatternHelper.java @@ -254,7 +254,7 @@ public class PatternHelper implements ICraftingPatternDetails, Comparable return localizedName; } + /** + * Return the name of the mod associated with this recipe category. + * Used for the recipe category tab's tooltip. + * + * @since JEI 4.5.0 + */ + @Override + public String getModName() { + return AppEng.MOD_NAME; + } + @Override public IDrawable getBackground() { diff --git a/src/main/java/appeng/integration/modules/jei/GrinderRecipeCategory.java b/src/main/java/appeng/integration/modules/jei/GrinderRecipeCategory.java index 035fefb5f..38e34e1fa 100644 --- a/src/main/java/appeng/integration/modules/jei/GrinderRecipeCategory.java +++ b/src/main/java/appeng/integration/modules/jei/GrinderRecipeCategory.java @@ -49,6 +49,9 @@ class GrinderRecipeCategory extends BlankRecipeCategory this.background = guiHelper.createDrawable( location, 11, 16, 154, 64 ); } + @Override + public String getModName() { return AppEng.MOD_NAME; } + @Override public String getUid() { diff --git a/src/main/java/appeng/integration/modules/jei/InscriberRecipeCategory.java b/src/main/java/appeng/integration/modules/jei/InscriberRecipeCategory.java index dd983989f..1d5d0d8ae 100644 --- a/src/main/java/appeng/integration/modules/jei/InscriberRecipeCategory.java +++ b/src/main/java/appeng/integration/modules/jei/InscriberRecipeCategory.java @@ -73,6 +73,17 @@ class InscriberRecipeCategory extends BlankRecipeCategory { diff --git a/src/main/java/appeng/items/AEBaseItem.java b/src/main/java/appeng/items/AEBaseItem.java index 96996a630..5bd0f923d 100644 --- a/src/main/java/appeng/items/AEBaseItem.java +++ b/src/main/java/appeng/items/AEBaseItem.java @@ -21,11 +21,15 @@ package appeng.items; import java.util.List; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public abstract class AEBaseItem extends Item @@ -43,18 +47,19 @@ public abstract class AEBaseItem extends Item return getClass().getSimpleName() + "[" + regName + "]"; } + @SideOnly(Side.CLIENT) @Override @SuppressWarnings( "unchecked" ) - public final void addInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + public final void addInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - this.addCheckedInformation( stack, player, lines, displayMoreInfo ); + this.addCheckedInformation( stack, world, lines, advancedTooltips ); } @Override @SuppressWarnings( "unchecked" ) - public final void getSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + public final void getSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { - this.getCheckedSubItems( sameItem, creativeTab, itemStacks ); + this.getCheckedSubItems( creativeTab, itemStacks ); } @Override @@ -63,14 +68,15 @@ public abstract class AEBaseItem extends Item return false; } - protected void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly(Side.CLIENT) + protected void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - super.addInformation( stack, player, lines, displayMoreInfo ); + super.addInformation( stack, world, lines, advancedTooltips ); } - protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + protected void getCheckedSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { - super.getSubItems( sameItem, creativeTab, itemStacks ); + super.getSubItems( creativeTab, itemStacks ); } } diff --git a/src/main/java/appeng/items/materials/ItemMaterial.java b/src/main/java/appeng/items/materials/ItemMaterial.java index 72b714a02..b14c8ac77 100644 --- a/src/main/java/appeng/items/materials/ItemMaterial.java +++ b/src/main/java/appeng/items/materials/ItemMaterial.java @@ -33,6 +33,7 @@ import java.util.regex.Pattern; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; @@ -50,6 +51,8 @@ import net.minecraft.util.NonNullList; 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.oredict.OreDictionary; import appeng.api.config.Upgrades; @@ -83,10 +86,11 @@ public final class ItemMaterial extends AEBaseItem implements IStorageComponent, instance = this; } + @SideOnly( Side.CLIENT ) @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - super.addCheckedInformation( stack, player, lines, displayMoreInfo ); + super.addCheckedInformation( stack, world, lines, advancedTooltips ); final MaterialType mt = this.getTypeByStack( stack ); if( mt == null ) @@ -259,7 +263,7 @@ public final class ItemMaterial extends AEBaseItem implements IStorageComponent, } @Override - protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + protected void getCheckedSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { final List types = Arrays.asList( MaterialType.values() ); Collections.sort( types, new Comparator() diff --git a/src/main/java/appeng/items/misc/ItemCrystalSeed.java b/src/main/java/appeng/items/misc/ItemCrystalSeed.java index cf6afe19d..023fab33d 100644 --- a/src/main/java/appeng/items/misc/ItemCrystalSeed.java +++ b/src/main/java/appeng/items/misc/ItemCrystalSeed.java @@ -26,10 +26,10 @@ import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.NonNullList; @@ -47,6 +47,8 @@ import appeng.entity.EntityGrowingCrystal; import appeng.entity.EntityIds; import appeng.items.AEBaseItem; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class ItemCrystalSeed extends AEBaseItem implements IGrowableCrystal @@ -160,13 +162,14 @@ public class ItemCrystalSeed extends AEBaseItem implements IGrowableCrystal } @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly( Side.CLIENT ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { lines.add( ButtonToolTips.DoesntDespawn.getLocal() ); final int progress = getProgress( stack ) % SINGLE_OFFSET; lines.add( Math.floor( (float) progress / (float) ( SINGLE_OFFSET / 100 ) ) + "%" ); - super.addCheckedInformation( stack, player, lines, displayMoreInfo ); + super.addCheckedInformation( stack, world, lines, advancedTooltips ); } @Override @@ -239,7 +242,7 @@ public class ItemCrystalSeed extends AEBaseItem implements IGrowableCrystal } @Override - protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + protected void getCheckedSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { // lvl 0 itemStacks.add( newStyle( new ItemStack( this, 1, CERTUS ) ) ); diff --git a/src/main/java/appeng/items/misc/ItemEncodedPattern.java b/src/main/java/appeng/items/misc/ItemEncodedPattern.java index ffde94b68..a95ef2560 100644 --- a/src/main/java/appeng/items/misc/ItemEncodedPattern.java +++ b/src/main/java/appeng/items/misc/ItemEncodedPattern.java @@ -23,6 +23,7 @@ import java.util.List; import java.util.Map; import java.util.WeakHashMap; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; @@ -43,6 +44,8 @@ import appeng.core.localization.GuiText; import appeng.helpers.PatternHelper; import appeng.items.AEBaseItem; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class ItemEncodedPattern extends AEBaseItem implements ICraftingPatternItem @@ -98,9 +101,10 @@ public class ItemEncodedPattern extends AEBaseItem implements ICraftingPatternIt } @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly( Side.CLIENT ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - final ICraftingPatternDetails details = this.getPatternForItem( stack, player.world ); + final ICraftingPatternDetails details = this.getPatternForItem( stack, world ); if( details == null ) { diff --git a/src/main/java/appeng/items/misc/ItemPaintBall.java b/src/main/java/appeng/items/misc/ItemPaintBall.java index 93f0ab42f..05201cf77 100644 --- a/src/main/java/appeng/items/misc/ItemPaintBall.java +++ b/src/main/java/appeng/items/misc/ItemPaintBall.java @@ -67,7 +67,7 @@ public class ItemPaintBall extends AEBaseItem } @Override - protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + protected void getCheckedSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { for( final AEColor c : AEColor.values() ) { diff --git a/src/main/java/appeng/items/parts/ItemFacade.java b/src/main/java/appeng/items/parts/ItemFacade.java index c22c35b38..a4d1f8a53 100644 --- a/src/main/java/appeng/items/parts/ItemFacade.java +++ b/src/main/java/appeng/items/parts/ItemFacade.java @@ -95,7 +95,7 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte } @Override - protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + protected void getCheckedSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { this.calculateSubTypes(); itemStacks.addAll( this.subTypes ); @@ -118,7 +118,7 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte } final NonNullList tmpList = NonNullList.create(); - b.getSubBlocks( item, b.getCreativeTabToDisplayOn(), tmpList ); + b.getSubBlocks( b.getCreativeTabToDisplayOn(), tmpList ); for( final ItemStack l : tmpList ) { final ItemStack facade = this.createFacadeForItem( l, false ); diff --git a/src/main/java/appeng/items/parts/ItemPart.java b/src/main/java/appeng/items/parts/ItemPart.java index 544e36750..1a29a7f74 100644 --- a/src/main/java/appeng/items/parts/ItemPart.java +++ b/src/main/java/appeng/items/parts/ItemPart.java @@ -196,7 +196,7 @@ public final class ItemPart extends AEBaseItem implements IPartItem, IItemGroup } @Override - protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + protected void getCheckedSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { final List> types = new ArrayList>( this.registered.entrySet() ); Collections.sort( types, REGISTERED_COMPARATOR ); diff --git a/src/main/java/appeng/items/storage/ItemBasicStorageCell.java b/src/main/java/appeng/items/storage/ItemBasicStorageCell.java index 365ae9450..c0558b5d1 100644 --- a/src/main/java/appeng/items/storage/ItemBasicStorageCell.java +++ b/src/main/java/appeng/items/storage/ItemBasicStorageCell.java @@ -22,6 +22,7 @@ package appeng.items.storage; import java.util.List; import java.util.Set; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; @@ -55,6 +56,8 @@ import appeng.items.contents.CellUpgrades; import appeng.items.materials.MaterialType; import appeng.util.InventoryAdaptor; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public final class ItemBasicStorageCell extends AEBaseItem implements IStorageCell, IItemGroup @@ -94,8 +97,9 @@ public final class ItemBasicStorageCell extends AEBaseItem implements IStorageCe } } + @SideOnly( Side.CLIENT ) @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { final IMEInventoryHandler inventory = AEApi.instance().registries().cell().getCellInventory( stack, null, StorageChannel.ITEMS ); diff --git a/src/main/java/appeng/items/storage/ItemCreativeStorageCell.java b/src/main/java/appeng/items/storage/ItemCreativeStorageCell.java index 455c073a3..23146bf55 100644 --- a/src/main/java/appeng/items/storage/ItemCreativeStorageCell.java +++ b/src/main/java/appeng/items/storage/ItemCreativeStorageCell.java @@ -23,6 +23,7 @@ import appeng.api.AEApi; import appeng.api.storage.ICellInventoryHandler; import appeng.api.storage.IMEInventoryHandler; import appeng.api.storage.StorageChannel; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -31,6 +32,9 @@ import appeng.api.config.FuzzyMode; import appeng.api.storage.ICellWorkbenchItem; import appeng.items.AEBaseItem; import appeng.items.contents.CellConfig; +import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import java.util.List; @@ -72,8 +76,9 @@ public class ItemCreativeStorageCell extends AEBaseItem implements ICellWorkbenc } + @SideOnly( Side.CLIENT ) @Override - public void addCheckedInformation(final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { final IMEInventoryHandler inventory = AEApi.instance().registries().cell().getCellInventory( stack, null, StorageChannel.ITEMS ); diff --git a/src/main/java/appeng/items/storage/ItemSpatialStorageCell.java b/src/main/java/appeng/items/storage/ItemSpatialStorageCell.java index 8053388ea..188a827c1 100644 --- a/src/main/java/appeng/items/storage/ItemSpatialStorageCell.java +++ b/src/main/java/appeng/items/storage/ItemSpatialStorageCell.java @@ -21,6 +21,7 @@ package appeng.items.storage; import java.util.List; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -36,6 +37,8 @@ import appeng.items.AEBaseItem; import appeng.spatial.StorageHelper; import appeng.spatial.StorageWorldProvider; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class ItemSpatialStorageCell extends AEBaseItem implements ISpatialStorageCell @@ -48,8 +51,9 @@ public class ItemSpatialStorageCell extends AEBaseItem implements ISpatialStorag this.maxRegion = spatialScale; } + @SideOnly( Side.CLIENT ) @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { final WorldCoord wc = this.getStoredSize( stack ); if( wc.x > 0 ) diff --git a/src/main/java/appeng/items/tools/ToolBiometricCard.java b/src/main/java/appeng/items/tools/ToolBiometricCard.java index 3409f4ce4..8ea30869d 100644 --- a/src/main/java/appeng/items/tools/ToolBiometricCard.java +++ b/src/main/java/appeng/items/tools/ToolBiometricCard.java @@ -24,6 +24,7 @@ import java.util.List; import com.mojang.authlib.GameProfile; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -41,6 +42,8 @@ import appeng.api.networking.security.ISecurityRegistry; import appeng.core.localization.GuiText; import appeng.items.AEBaseItem; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class ToolBiometricCard extends AEBaseItem implements IBiometricCard @@ -176,7 +179,8 @@ public class ToolBiometricCard extends AEBaseItem implements IBiometricCard } @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly( Side.CLIENT ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { final EnumSet perms = this.getPermissions( stack ); if( perms.isEmpty() ) diff --git a/src/main/java/appeng/items/tools/ToolMemoryCard.java b/src/main/java/appeng/items/tools/ToolMemoryCard.java index 8ee870476..1e7b7415e 100644 --- a/src/main/java/appeng/items/tools/ToolMemoryCard.java +++ b/src/main/java/appeng/items/tools/ToolMemoryCard.java @@ -21,6 +21,7 @@ package appeng.items.tools; import java.util.List; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -38,6 +39,8 @@ import appeng.core.localization.GuiText; import appeng.core.localization.PlayerMessages; import appeng.items.AEBaseItem; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class ToolMemoryCard extends AEBaseItem implements IMemoryCard @@ -48,7 +51,8 @@ public class ToolMemoryCard extends AEBaseItem implements IMemoryCard } @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly( Side.CLIENT ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { lines.add( this.getLocalizedName( this.getSettingsName( stack ) + ".name", this.getSettingsName( stack ) ) ); diff --git a/src/main/java/appeng/items/tools/powered/ToolColorApplicator.java b/src/main/java/appeng/items/tools/powered/ToolColorApplicator.java index 9b425ce25..8de71028b 100644 --- a/src/main/java/appeng/items/tools/powered/ToolColorApplicator.java +++ b/src/main/java/appeng/items/tools/powered/ToolColorApplicator.java @@ -32,6 +32,7 @@ import net.minecraft.block.BlockColored; import net.minecraft.block.BlockStainedGlass; import net.minecraft.block.BlockStainedGlassPane; import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; @@ -45,6 +46,8 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; 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.oredict.OreDictionary; import appeng.api.AEApi; @@ -419,9 +422,10 @@ public class ToolColorApplicator extends AEBasePoweredItem implements IStorageCe } @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly( Side.CLIENT ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - super.addCheckedInformation( stack, player, lines, displayMoreInfo ); + super.addCheckedInformation( stack, world, lines, advancedTooltips ); final IMEInventory cdi = AEApi.instance().registries().cell().getCellInventory( stack, null, StorageChannel.ITEMS ); diff --git a/src/main/java/appeng/items/tools/powered/ToolMatterCannon.java b/src/main/java/appeng/items/tools/powered/ToolMatterCannon.java index f64f0ba27..1cac45060 100644 --- a/src/main/java/appeng/items/tools/powered/ToolMatterCannon.java +++ b/src/main/java/appeng/items/tools/powered/ToolMatterCannon.java @@ -25,6 +25,7 @@ import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -77,6 +78,8 @@ import appeng.me.storage.CellInventoryHandler; import appeng.tile.misc.TilePaint; import appeng.util.LookDirection; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class ToolMatterCannon extends AEBasePoweredItem implements IStorageCell @@ -87,10 +90,11 @@ public class ToolMatterCannon extends AEBasePoweredItem implements IStorageCell super( AEConfig.instance().getMatterCannonBattery() ); } + @SideOnly( Side.CLIENT ) @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - super.addCheckedInformation( stack, player, lines, displayMoreInfo ); + super.addCheckedInformation( stack, world, lines, advancedTooltips ); final IMEInventory cdi = AEApi.instance().registries().cell().getCellInventory( stack, null, StorageChannel.ITEMS ); @@ -191,7 +195,7 @@ public class ToolMatterCannon extends AEBasePoweredItem implements IStorageCell private void shootPaintBalls( final ItemStack type, final World w, final EntityPlayer p, final Vec3d Vec3d, final Vec3d Vec3d1, final Vec3d direction, final double d0, final double d1, final double d2 ) { - final AxisAlignedBB bb = new AxisAlignedBB( Math.min( Vec3d.x, Vec3d1.x ), Math.min( Vec3d.y, Vec3d1.y ), Math.min( Vec3d.z, Vec3d1.z ), Math.max( Vec3d.x, Vec3d1.x ), Math.max( Vec3d.y, Vec3d1.y ), Math.max( Vec3d.z, Vec3d1.z ) ).expand( 16, 16, 16 ); + final AxisAlignedBB bb = new AxisAlignedBB( Math.min( Vec3d.x, Vec3d1.x ), Math.min( Vec3d.y, Vec3d1.y ), Math.min( Vec3d.z, Vec3d1.z ), Math.max( Vec3d.x, Vec3d1.x ), Math.max( Vec3d.y, Vec3d1.y ), Math.max( Vec3d.z, Vec3d1.z ) ).grow( 16, 16, 16 ); Entity entity = null; final List list = w.getEntitiesWithinAABBExcludingEntity( p, bb ); @@ -213,7 +217,7 @@ public class ToolMatterCannon extends AEBasePoweredItem implements IStorageCell final float f1 = 0.3F; - final AxisAlignedBB boundingBox = entity1.getEntityBoundingBox().expand( f1, f1, f1 ); + final AxisAlignedBB boundingBox = entity1.getEntityBoundingBox().grow( f1, f1, f1 ); final RayTraceResult RayTraceResult = boundingBox.calculateIntercept( Vec3d, Vec3d1 ); if( RayTraceResult != null ) @@ -309,7 +313,7 @@ public class ToolMatterCannon extends AEBasePoweredItem implements IStorageCell { hasDestroyed = false; - final AxisAlignedBB bb = new AxisAlignedBB( Math.min( Vec3d.x, Vec3d1.x ), Math.min( Vec3d.y, Vec3d1.y ), Math.min( Vec3d.z, Vec3d1.z ), Math.max( Vec3d.x, Vec3d1.x ), Math.max( Vec3d.y, Vec3d1.y ), Math.max( Vec3d.z, Vec3d1.z ) ).expand( 16, 16, 16 ); + final AxisAlignedBB bb = new AxisAlignedBB( Math.min( Vec3d.x, Vec3d1.x ), Math.min( Vec3d.y, Vec3d1.y ), Math.min( Vec3d.z, Vec3d1.z ), Math.max( Vec3d.x, Vec3d1.x ), Math.max( Vec3d.y, Vec3d1.y ), Math.max( Vec3d.z, Vec3d1.z ) ).grow( 16, 16, 16 ); Entity entity = null; final List list = w.getEntitiesWithinAABBExcludingEntity( p, bb ); @@ -331,7 +335,7 @@ public class ToolMatterCannon extends AEBasePoweredItem implements IStorageCell final float f1 = 0.3F; - final AxisAlignedBB boundingBox = entity1.getEntityBoundingBox().expand( f1, f1, f1 ); + final AxisAlignedBB boundingBox = entity1.getEntityBoundingBox().grow( f1, f1, f1 ); final RayTraceResult RayTraceResult = boundingBox.calculateIntercept( Vec3d, Vec3d1 ); if( RayTraceResult != null ) diff --git a/src/main/java/appeng/items/tools/powered/ToolPortableCell.java b/src/main/java/appeng/items/tools/powered/ToolPortableCell.java index cbea01221..3180ae4e0 100644 --- a/src/main/java/appeng/items/tools/powered/ToolPortableCell.java +++ b/src/main/java/appeng/items/tools/powered/ToolPortableCell.java @@ -22,6 +22,7 @@ package appeng.items.tools.powered; import java.util.List; import java.util.Set; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -78,9 +79,10 @@ public class ToolPortableCell extends AEBasePoweredItem implements IStorageCell, } @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly( Side.CLIENT ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - super.addCheckedInformation( stack, player, lines, displayMoreInfo ); + super.addCheckedInformation( stack, world, lines, advancedTooltips ); final IMEInventory cdi = AEApi.instance().registries().cell().getCellInventory( stack, null, StorageChannel.ITEMS ); diff --git a/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java b/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java index 191801c0e..1071fd6ab 100644 --- a/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java +++ b/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java @@ -21,6 +21,7 @@ package appeng.items.tools.powered; import java.util.List; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -70,9 +71,10 @@ public class ToolWirelessTerminal extends AEBasePoweredItem implements IWireless } @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + @SideOnly( Side.CLIENT ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { - super.addCheckedInformation( stack, player, lines, displayMoreInfo ); + super.addCheckedInformation( stack, world, lines, advancedTooltips ); if( stack.hasTagCompound() ) { diff --git a/src/main/java/appeng/items/tools/powered/powersink/AERootPoweredItem.java b/src/main/java/appeng/items/tools/powered/powersink/AERootPoweredItem.java index dc3d10165..c93a0137e 100644 --- a/src/main/java/appeng/items/tools/powered/powersink/AERootPoweredItem.java +++ b/src/main/java/appeng/items/tools/powered/powersink/AERootPoweredItem.java @@ -22,12 +22,12 @@ package appeng.items.tools.powered.powersink; import java.text.MessageFormat; import java.util.List; +import net.minecraft.client.util.ITooltipFlag; 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.util.NonNullList; +import net.minecraft.world.World; import net.minecraftforge.common.capabilities.ICapabilityProvider; import appeng.api.config.AccessRestriction; @@ -36,6 +36,8 @@ import appeng.api.implementations.items.IAEItemPowerStorage; import appeng.core.localization.GuiText; import appeng.items.AEBaseItem; import appeng.util.Platform; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public abstract class AERootPoweredItem extends AEBaseItem implements IAEItemPowerStorage @@ -52,8 +54,9 @@ public abstract class AERootPoweredItem extends AEBaseItem implements IAEItemPow this.powerCapacity = powerCapacity; } + @SideOnly( Side.CLIENT ) @Override - public void addCheckedInformation( final ItemStack stack, final EntityPlayer player, final List lines, final boolean displayMoreInfo ) + public void addCheckedInformation( final ItemStack stack, final World world, final List lines, final ITooltipFlag advancedTooltips ) { final NBTTagCompound tag = stack.getTagCompound(); double internalCurrentPower = 0; @@ -77,9 +80,9 @@ public abstract class AERootPoweredItem extends AEBaseItem implements IAEItemPow } @Override - protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final NonNullList itemStacks ) + protected void getCheckedSubItems( final CreativeTabs creativeTab, final NonNullList itemStacks ) { - super.getCheckedSubItems( sameItem, creativeTab, itemStacks ); + super.getCheckedSubItems( creativeTab, itemStacks ); final ItemStack charged = new ItemStack( this, 1 ); final NBTTagCompound tag = Platform.openNbtData( charged ); diff --git a/src/main/java/appeng/me/cache/PathGridCache.java b/src/main/java/appeng/me/cache/PathGridCache.java index 74e6afc51..c62de806c 100644 --- a/src/main/java/appeng/me/cache/PathGridCache.java +++ b/src/main/java/appeng/me/cache/PathGridCache.java @@ -351,10 +351,10 @@ public class PathGridCache implements IPathingGrid players.add( n.getPlayerID() ); } - for( final int id : players ) - { - Platform.addStat( id, currentBracket.getAchievement() ); - } +// for( final int id : players ) +// { +// Platform.addStat( id, currentBracket.getAchievement() ); +// } } } this.lastChannels = this.getChannelsInUse(); diff --git a/src/main/java/appeng/parts/automation/PlaneModel.java b/src/main/java/appeng/parts/automation/PlaneModel.java index 3fb246a33..1a37e2aae 100644 --- a/src/main/java/appeng/parts/automation/PlaneModel.java +++ b/src/main/java/appeng/parts/automation/PlaneModel.java @@ -21,8 +21,8 @@ package appeng.parts.automation; import java.util.Collection; import java.util.Collections; +import java.util.function.Function; -import com.google.common.base.Function; import com.google.common.collect.Lists; import net.minecraft.client.renderer.block.model.IBakedModel; diff --git a/src/main/java/appeng/parts/misc/PartStorageBus.java b/src/main/java/appeng/parts/misc/PartStorageBus.java index 26f9c3717..9b14a77ba 100644 --- a/src/main/java/appeng/parts/misc/PartStorageBus.java +++ b/src/main/java/appeng/parts/misc/PartStorageBus.java @@ -530,7 +530,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC if( achievement != null && achievement.getActionableNode() != null ) { - Platform.addStat( achievement.getActionableNode().getPlayerID(), Achievements.Recursive.getAchievement() ); +// Platform.addStat( achievement.getActionableNode().getPlayerID(), Achievements.Recursive.getAchievement() ); // Platform.addStat( getActionableNode().getPlayerID(), Achievements.Recursive.getAchievement() ); } } diff --git a/src/main/java/appeng/recipes/game/DisassembleRecipe.java b/src/main/java/appeng/recipes/game/DisassembleRecipe.java index 0b956ba17..66e1b6a03 100644 --- a/src/main/java/appeng/recipes/game/DisassembleRecipe.java +++ b/src/main/java/appeng/recipes/game/DisassembleRecipe.java @@ -31,6 +31,7 @@ import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; @@ -162,9 +163,8 @@ public final class DisassembleRecipe implements IRecipe } @Override - public int getRecipeSize() - { - return 1; + public boolean canFit(int i, int i1) { + return false; } @Nullable @@ -179,4 +179,42 @@ public final class DisassembleRecipe implements IRecipe { return ForgeHooks.defaultRecipeGetRemainingItems( inv ); } + + /** + * Sets a unique name for this Item. This should be used for uniquely identify the instance of the Item. + * This is the valid replacement for the atrocious 'getUnlocalizedName().substring(6)' stuff that everyone does. + * Unlocalized names have NOTHING to do with unique identifiers. As demonstrated by vanilla blocks and items. + *

+ * The supplied name will be prefixed with the currently active mod's modId. + * If the supplied name already has a prefix that is different, it will be used and a warning will be logged. + *

+ * If a name already exists, or this Item is already registered in a registry, then an IllegalStateException is thrown. + *

+ * Returns 'this' to allow for chaining. + * + * @param name Unique registry name + * @return This instance + */ + @Override + public IRecipe setRegistryName(ResourceLocation name) { + return null; + } + + /** + * A unique identifier for this entry, if this entry is registered already it will return it's official registry name. + * Otherwise it will return the name set in setRegistryName(). + * If neither are valid null is returned. + * + * @return Unique identifier or null. + */ + @Nullable + @Override + public ResourceLocation getRegistryName() { + return null; + } + + @Override + public Class getRegistryType() { + return null; + } } \ No newline at end of file diff --git a/src/main/java/appeng/recipes/game/FacadeRecipe.java b/src/main/java/appeng/recipes/game/FacadeRecipe.java index 0a37cf9af..9eac32213 100644 --- a/src/main/java/appeng/recipes/game/FacadeRecipe.java +++ b/src/main/java/appeng/recipes/game/FacadeRecipe.java @@ -26,6 +26,7 @@ import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; @@ -80,9 +81,8 @@ public final class FacadeRecipe implements IRecipe } @Override - public int getRecipeSize() - { - return 9; + public boolean canFit(int i, int i1) { + return false; } @Override @@ -97,4 +97,41 @@ public final class FacadeRecipe implements IRecipe return ForgeHooks.defaultRecipeGetRemainingItems( inv ); } + /** + * Sets a unique name for this Item. This should be used for uniquely identify the instance of the Item. + * This is the valid replacement for the atrocious 'getUnlocalizedName().substring(6)' stuff that everyone does. + * Unlocalized names have NOTHING to do with unique identifiers. As demonstrated by vanilla blocks and items. + *

+ * The supplied name will be prefixed with the currently active mod's modId. + * If the supplied name already has a prefix that is different, it will be used and a warning will be logged. + *

+ * If a name already exists, or this Item is already registered in a registry, then an IllegalStateException is thrown. + *

+ * Returns 'this' to allow for chaining. + * + * @param name Unique registry name + * @return This instance + */ + @Override + public IRecipe setRegistryName(ResourceLocation name) { + return null; + } + + /** + * A unique identifier for this entry, if this entry is registered already it will return it's official registry name. + * Otherwise it will return the name set in setRegistryName(). + * If neither are valid null is returned. + * + * @return Unique identifier or null. + */ + @Nullable + @Override + public ResourceLocation getRegistryName() { + return null; + } + + @Override + public Class getRegistryType() { + return null; + } } \ No newline at end of file diff --git a/src/main/java/appeng/recipes/game/ShapedRecipe.java b/src/main/java/appeng/recipes/game/ShapedRecipe.java index 8fc52a416..9c1cdb299 100644 --- a/src/main/java/appeng/recipes/game/ShapedRecipe.java +++ b/src/main/java/appeng/recipes/game/ShapedRecipe.java @@ -27,6 +27,7 @@ import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.oredict.OreDictionary; @@ -35,6 +36,7 @@ import appeng.api.exceptions.MissingIngredientError; import appeng.api.exceptions.RegistrationError; import appeng.api.recipes.IIngredient; +import javax.annotation.Nullable; public class ShapedRecipe implements IRecipe, IRecipeBakeable { @@ -176,9 +178,8 @@ public class ShapedRecipe implements IRecipe, IRecipeBakeable } @Override - public int getRecipeSize() - { - return this.input.length; + public boolean canFit(int i, int i1) { + return false; } @Override @@ -302,7 +303,7 @@ public class ShapedRecipe implements IRecipe, IRecipeBakeable return this.height; } - public Object[] getIngredients() + public Object[] getIIngredients() { return this.input; } @@ -333,4 +334,41 @@ public class ShapedRecipe implements IRecipe, IRecipeBakeable return ForgeHooks.defaultRecipeGetRemainingItems( inv ); } + /** + * Sets a unique name for this Item. This should be used for uniquely identify the instance of the Item. + * This is the valid replacement for the atrocious 'getUnlocalizedName().substring(6)' stuff that everyone does. + * Unlocalized names have NOTHING to do with unique identifiers. As demonstrated by vanilla blocks and items. + *

+ * The supplied name will be prefixed with the currently active mod's modId. + * If the supplied name already has a prefix that is different, it will be used and a warning will be logged. + *

+ * If a name already exists, or this Item is already registered in a registry, then an IllegalStateException is thrown. + *

+ * Returns 'this' to allow for chaining. + * + * @param name Unique registry name + * @return This instance + */ + @Override + public IRecipe setRegistryName(ResourceLocation name) { + return null; + } + + /** + * A unique identifier for this entry, if this entry is registered already it will return it's official registry name. + * Otherwise it will return the name set in setRegistryName(). + * If neither are valid null is returned. + * + * @return Unique identifier or null. + */ + @Nullable + @Override + public ResourceLocation getRegistryName() { + return null; + } + + @Override + public Class getRegistryType() { + return null; + } } \ No newline at end of file diff --git a/src/main/java/appeng/recipes/game/ShapelessRecipe.java b/src/main/java/appeng/recipes/game/ShapelessRecipe.java index 0de49fccc..0ef77fcd7 100644 --- a/src/main/java/appeng/recipes/game/ShapelessRecipe.java +++ b/src/main/java/appeng/recipes/game/ShapelessRecipe.java @@ -25,6 +25,7 @@ import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.oredict.OreDictionary; @@ -33,6 +34,8 @@ import appeng.api.exceptions.MissingIngredientError; import appeng.api.exceptions.RegistrationError; import appeng.api.recipes.IIngredient; +import javax.annotation.Nullable; + public class ShapelessRecipe implements IRecipe, IRecipeBakeable { @@ -135,9 +138,8 @@ public class ShapelessRecipe implements IRecipe, IRecipeBakeable } @Override - public int getRecipeSize() - { - return this.input.size(); + public boolean canFit(int i, int i1) { + return false; } @Override @@ -188,4 +190,41 @@ public class ShapelessRecipe implements IRecipe, IRecipeBakeable return ForgeHooks.defaultRecipeGetRemainingItems( inv ); } + /** + * Sets a unique name for this Item. This should be used for uniquely identify the instance of the Item. + * This is the valid replacement for the atrocious 'getUnlocalizedName().substring(6)' stuff that everyone does. + * Unlocalized names have NOTHING to do with unique identifiers. As demonstrated by vanilla blocks and items. + *

+ * The supplied name will be prefixed with the currently active mod's modId. + * If the supplied name already has a prefix that is different, it will be used and a warning will be logged. + *

+ * If a name already exists, or this Item is already registered in a registry, then an IllegalStateException is thrown. + *

+ * Returns 'this' to allow for chaining. + * + * @param name Unique registry name + * @return This instance + */ + @Override + public IRecipe setRegistryName(ResourceLocation name) { + return null; + } + + /** + * A unique identifier for this entry, if this entry is registered already it will return it's official registry name. + * Otherwise it will return the name set in setRegistryName(). + * If neither are valid null is returned. + * + * @return Unique identifier or null. + */ + @Nullable + @Override + public ResourceLocation getRegistryName() { + return null; + } + + @Override + public Class getRegistryType() { + return null; + } } \ No newline at end of file diff --git a/src/main/java/appeng/recipes/handlers/Shaped.java b/src/main/java/appeng/recipes/handlers/Shaped.java index f8556b6e0..046d8c048 100644 --- a/src/main/java/appeng/recipes/handlers/Shaped.java +++ b/src/main/java/appeng/recipes/handlers/Shaped.java @@ -22,7 +22,9 @@ package appeng.recipes.handlers; import java.util.ArrayList; import java.util.List; +import appeng.core.Registration; import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; import appeng.api.exceptions.MissingIngredientError; @@ -113,7 +115,7 @@ public class Shaped implements ICraftHandler, IWebsiteSerializer try { - GameRegistry.addRecipe( new ShapedRecipe( outIS, args.toArray( new Object[args.size()] ) ) ); + Registration.addRecipeToRegister( new ShapedRecipe( outIS, args.toArray( new Object[args.size()] ) ) ); } catch( final Throwable e ) { diff --git a/src/main/java/appeng/recipes/handlers/Shapeless.java b/src/main/java/appeng/recipes/handlers/Shapeless.java index fb7aa47ad..d0b5d7075 100644 --- a/src/main/java/appeng/recipes/handlers/Shapeless.java +++ b/src/main/java/appeng/recipes/handlers/Shapeless.java @@ -22,7 +22,9 @@ package appeng.recipes.handlers; import java.util.ArrayList; import java.util.List; +import appeng.core.Registration; import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; import appeng.api.exceptions.MissingIngredientError; @@ -76,7 +78,7 @@ public class Shapeless implements ICraftHandler, IWebsiteSerializer try { - GameRegistry.addRecipe( new ShapelessRecipe( outIS, args.toArray( new Object[args.size()] ) ) ); + Registration.addRecipeToRegister( new ShapelessRecipe( outIS, args.toArray( new Object[args.size()] ) ) ); } catch( final Throwable e ) { diff --git a/src/main/java/appeng/recipes/ores/OreDictionaryHandler.java b/src/main/java/appeng/recipes/ores/OreDictionaryHandler.java index 678acd93b..258fd34fe 100644 --- a/src/main/java/appeng/recipes/ores/OreDictionaryHandler.java +++ b/src/main/java/appeng/recipes/ores/OreDictionaryHandler.java @@ -25,6 +25,7 @@ import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.oredict.OreDictionary; import appeng.core.AELog; @@ -78,7 +79,7 @@ public class OreDictionaryHandler { this.enableRebaking = true; - for( final Object o : CraftingManager.getInstance().getRecipeList() ) + for( final Object o : ForgeRegistries.RECIPES.getValues() ) { if( o instanceof IRecipeBakeable ) { diff --git a/src/main/java/appeng/services/export/ExportProcess.java b/src/main/java/appeng/services/export/ExportProcess.java index fa1623449..19c30a997 100644 --- a/src/main/java/appeng/services/export/ExportProcess.java +++ b/src/main/java/appeng/services/export/ExportProcess.java @@ -21,6 +21,7 @@ package appeng.services.export; import java.io.File; import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; import javax.annotation.Nonnull; @@ -31,10 +32,11 @@ import com.google.common.base.Stopwatch; import net.minecraft.item.Item; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.ModContainer; -import net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry; -import net.minecraftforge.fml.common.registry.GameData; import appeng.core.AELog; +import net.minecraftforge.fml.common.registry.ForgeRegistries; +import net.minecraftforge.registries.GameData; +import net.minecraftforge.registries.IForgeRegistry; /** @@ -118,7 +120,7 @@ public class ExportProcess implements Runnable AELog.info( EXPORT_START_MESSAGE ); final Stopwatch watch = Stopwatch.createStarted(); - final FMLControlledNamespacedRegistry itemRegistry = GameData.getItemRegistry(); + final IForgeRegistry itemRegistry = ForgeRegistries.ITEMS; final ExportMode mode = this.config.isAdditionalInformationEnabled() ? ExportMode.VERBOSE : ExportMode.MINIMAL; final Exporter exporter = new MinecraftItemCSVExporter( this.exportDirectory, itemRegistry, mode ); diff --git a/src/main/java/appeng/services/export/MinecraftItemCSVExporter.java b/src/main/java/appeng/services/export/MinecraftItemCSVExporter.java index c7a530c31..e3a52fa41 100644 --- a/src/main/java/appeng/services/export/MinecraftItemCSVExporter.java +++ b/src/main/java/appeng/services/export/MinecraftItemCSVExporter.java @@ -36,6 +36,8 @@ import com.google.common.base.Joiner; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; +import net.minecraftforge.fml.common.registry.ForgeRegistries; +import net.minecraftforge.registries.IForgeRegistry; import org.apache.commons.io.FileUtils; import net.minecraft.block.Block; @@ -45,7 +47,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; import net.minecraft.util.text.translation.I18n; -import net.minecraftforge.fml.common.registry.FMLControlledNamespacedRegistry; import appeng.core.AELog; @@ -68,7 +69,7 @@ final class MinecraftItemCSVExporter implements Exporter @Nonnull private final File exportDirectory; @Nonnull - private final FMLControlledNamespacedRegistry itemRegistry; + private final IForgeRegistry itemRegistry; @Nonnull private final ExportMode mode; @@ -79,7 +80,7 @@ final class MinecraftItemCSVExporter implements Exporter * phase when all items are determined) * @param mode mode in which the export should be operated. Resulting CSV will change depending on this. */ - MinecraftItemCSVExporter( @Nonnull final File exportDirectory, @Nonnull final FMLControlledNamespacedRegistry itemRegistry, @Nonnull final ExportMode mode ) + MinecraftItemCSVExporter(@Nonnull final File exportDirectory, @Nonnull final IForgeRegistry itemRegistry, @Nonnull final ExportMode mode ) { this.exportDirectory = Preconditions.checkNotNull( exportDirectory ); Preconditions.checkArgument( !exportDirectory.isFile() ); @@ -90,7 +91,7 @@ final class MinecraftItemCSVExporter implements Exporter @Override public void export() { - final Iterable items = this.itemRegistry.typeSafeIterable(); + final Iterable items = this.itemRegistry; final List itemList = Lists.newArrayList( items ); final List lines = Lists.transform( itemList, new ItemRowExtractFunction( this.itemRegistry, this.mode ) ); @@ -202,7 +203,7 @@ final class MinecraftItemCSVExporter implements Exporter private static final String EXPORTING_SUBTYPES_FAILED_MESSAGE = "Could not export subtypes of: %s"; @Nonnull - private final FMLControlledNamespacedRegistry itemRegistry; + private final IForgeRegistry itemRegistry; @Nonnull private final ExportMode mode; @@ -210,7 +211,7 @@ final class MinecraftItemCSVExporter implements Exporter * @param itemRegistry used to retrieve the name of the item * @param mode extracts more or less information from item depending on mode */ - ItemRowExtractFunction( @Nonnull final FMLControlledNamespacedRegistry itemRegistry, @Nonnull final ExportMode mode ) + ItemRowExtractFunction( @Nonnull final IForgeRegistry itemRegistry, @Nonnull final ExportMode mode ) { this.itemRegistry = Preconditions.checkNotNull( itemRegistry ); this.mode = Preconditions.checkNotNull( mode ); @@ -231,7 +232,7 @@ final class MinecraftItemCSVExporter implements Exporter AELog.debug( EXPORTING_SUBTYPES_MESSAGE, input.getUnlocalizedName(), input.getHasSubtypes() ); } - final String itemName = this.itemRegistry.getNameForObject( input ).toString(); + final String itemName = ForgeRegistries.ITEMS.getKey( input ).toString(); final boolean hasSubtypes = input.getHasSubtypes(); if( hasSubtypes ) { @@ -241,7 +242,7 @@ final class MinecraftItemCSVExporter implements Exporter // modifies the stacks list and adds the different sub types to it try { - input.getSubItems( input, creativeTab, stacks ); + input.getSubItems( creativeTab, stacks ); } catch( final Exception ignored ) { diff --git a/src/main/java/appeng/spatial/StorageChunkProvider.java b/src/main/java/appeng/spatial/StorageChunkProvider.java index 75ad1befc..2ffe0d055 100644 --- a/src/main/java/appeng/spatial/StorageChunkProvider.java +++ b/src/main/java/appeng/spatial/StorageChunkProvider.java @@ -28,13 +28,13 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.gen.ChunkProviderOverworld; import appeng.api.AEApi; import appeng.core.AppEng; +import net.minecraft.world.gen.ChunkGeneratorOverworld; -public class StorageChunkProvider extends ChunkProviderOverworld +public class StorageChunkProvider extends ChunkGeneratorOverworld { private final World world; diff --git a/src/main/java/appeng/spatial/StorageWorldProvider.java b/src/main/java/appeng/spatial/StorageWorldProvider.java index 6b68fffd2..90ad339d4 100644 --- a/src/main/java/appeng/spatial/StorageWorldProvider.java +++ b/src/main/java/appeng/spatial/StorageWorldProvider.java @@ -27,7 +27,7 @@ import net.minecraft.world.WorldProvider; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.BiomeProviderSingle; import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraftforge.client.IRenderHandler; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; diff --git a/src/main/java/appeng/tile/misc/TileInscriber.java b/src/main/java/appeng/tile/misc/TileInscriber.java index 2d3696922..463f752f0 100644 --- a/src/main/java/appeng/tile/misc/TileInscriber.java +++ b/src/main/java/appeng/tile/misc/TileInscriber.java @@ -293,20 +293,20 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable, // :P } } - - @Override - public boolean canInsertItem( final int slotIndex, final ItemStack insertingItem, final EnumFacing side ) - { - if( !this.isItemValidForSlot( slotIndex, insertingItem ) ) - { - return false; - } - if( !getStackInSlot( slotIndex ).isEmpty() ) - { - return false; - } - return true; - } +// +// @Override +// public boolean canInsertItem( final int slotIndex, final ItemStack insertingItem, final EnumFacing side ) +// { +// if( !this.isItemValidForSlot( slotIndex, insertingItem ) ) +// { +// return false; +// } +// if( !getStackInSlot( slotIndex ).isEmpty() ) +// { +// return false; +// } +// return true; +// } @Override public boolean canExtractItem( final int slotIndex, final ItemStack extractedItem, final EnumFacing side ) diff --git a/src/main/java/appeng/tile/networking/CableBusTESR.java b/src/main/java/appeng/tile/networking/CableBusTESR.java index 05e2c165d..b2bf0e71c 100644 --- a/src/main/java/appeng/tile/networking/CableBusTESR.java +++ b/src/main/java/appeng/tile/networking/CableBusTESR.java @@ -30,7 +30,7 @@ public class CableBusTESR extends TileEntitySpecialRenderer { @Override - public void renderTileEntityAt( AEBaseTile te, double x, double y, double z, float partialTicks, int destroyStage ) + public void render( AEBaseTile te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_ ) { if( !( te instanceof TileCableBusTESR ) ) diff --git a/src/main/java/appeng/util/Platform.java b/src/main/java/appeng/util/Platform.java index f594944ff..cacd4eaad 100644 --- a/src/main/java/appeng/util/Platform.java +++ b/src/main/java/appeng/util/Platform.java @@ -39,6 +39,7 @@ import com.google.common.collect.Lists; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -57,7 +58,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.play.server.SPacketChunkData; import net.minecraft.server.management.PlayerChunkMap; import net.minecraft.server.management.PlayerChunkMapEntry; -import net.minecraft.stats.Achievement; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.EnumFacing; @@ -73,9 +73,11 @@ import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.common.util.FakePlayerFactory; +import net.minecraftforge.fml.client.FMLClientHandler; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.ModContainer; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.oredict.OreDictionary; @@ -132,6 +134,7 @@ import appeng.util.helpers.ItemComparisonHelper; import appeng.util.item.AEItemStack; import appeng.util.item.AESharedNBT; import appeng.util.prioritylist.IPartitionList; +import net.minecraftforge.registries.IForgeRegistry; /** @@ -434,8 +437,8 @@ public class Platform */ public static IRecipe findMatchingRecipe( final InventoryCrafting inventoryCrafting, final World par2World ) { - final CraftingManager cm = CraftingManager.getInstance(); - final List rl = cm.getRecipeList(); + IForgeRegistry recipes = ForgeRegistries.RECIPES; + final List rl = recipes.getValues(); for( final IRecipe r : rl ) { @@ -667,7 +670,7 @@ public class Platform public static ItemStack findMatchingRecipeOutput( final InventoryCrafting ic, final World world ) { - return CraftingManager.getInstance().findMatchingRecipe( ic, world ); + return CraftingManager.findMatchingResult( ic, world ); } @SideOnly( Side.CLIENT ) @@ -695,7 +698,8 @@ public class Platform try { - return itemStack.getTooltip( Minecraft.getMinecraft().player, false ); + ITooltipFlag.TooltipFlags tooltipFlag = Minecraft.getMinecraft().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL; + return itemStack.getTooltip( Minecraft.getMinecraft().player, tooltipFlag ); } catch( final Exception errB ) { @@ -1186,7 +1190,7 @@ public class Platform final Vec3d vec31 = vec3.addVector( f7 * d3, f6 * d3, f8 * d3 ); final AxisAlignedBB bb = new AxisAlignedBB( Math.min( vec3.x, vec31.x ), Math.min( vec3.y, vec31.y ), Math.min( vec3.z, - vec31.z ), Math.max( vec3.x, vec31.x ), Math.max( vec3.y, vec31.y ), Math.max( vec3.z, vec31.z ) ).expand( + vec31.z ), Math.max( vec3.x, vec31.x ), Math.max( vec3.y, vec31.y ), Math.max( vec3.z, vec31.z ) ).grow( 16, 16, 16 ); Entity entity = null; @@ -1210,7 +1214,7 @@ public class Platform } f1 = 0.3F; - final AxisAlignedBB boundingBox = entity1.getEntityBoundingBox().expand( f1, f1, f1 ); + final AxisAlignedBB boundingBox = entity1.getEntityBoundingBox().grow( f1, f1, f1 ); final RayTraceResult RayTraceResult = boundingBox.calculateIntercept( vec3, vec31 ); if( RayTraceResult != null ) @@ -1799,14 +1803,14 @@ public class Platform return (float) ( player.posY + player.getEyeHeight() - player.getDefaultEyeHeight() ); } - public static void addStat( final int playerID, final Achievement achievement ) - { - final EntityPlayer p = AEApi.instance().registries().players().findPlayer( playerID ); - if( p != null ) - { - p.addStat( achievement, 1 ); - } - } +// public static void addStat( final int playerID, final Achievement achievement ) +// { +// final EntityPlayer p = AEApi.instance().registries().players().findPlayer( playerID ); +// if( p != null ) +// { +// p.addStat( achievement, 1 ); +// } +// } public static boolean isRecipePrioritized( final ItemStack what ) { diff --git a/src/main/java/appeng/util/helpers/ItemComparisonHelper.java b/src/main/java/appeng/util/helpers/ItemComparisonHelper.java index a569fffad..e5b5e94c8 100644 --- a/src/main/java/appeng/util/helpers/ItemComparisonHelper.java +++ b/src/main/java/appeng/util/helpers/ItemComparisonHelper.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Set; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import net.minecraft.init.Items; @@ -81,15 +82,12 @@ public class ItemComparisonHelper * The benefit is to compare two null item stacks, without any additional null checks. * * Ignores NBT. - * - * Deprecated because ItemStack should never be null...? * * @return true, if both are equal. */ - @Deprecated - public boolean isEqualItem( @Nullable final ItemStack left, @Nullable final ItemStack right ) + public boolean isEqualItem( @Nonnull final ItemStack left, @Nonnull final ItemStack right ) { - return left != null && right != null && /* left.isItemEqual( right ); */ this.isItemEqual(left, right); + return this.isItemEqual(left, right); } /** @@ -105,12 +103,9 @@ public class ItemComparisonHelper * Use this when a precise check is required and the same item is required. * Not just something with different NBT tags. * - * Deprecated because ItemStack should never be null...? - * * @return true, if both are identical. */ - @Deprecated - public boolean isSameItem( @Nullable final ItemStack is, @Nullable final ItemStack filter ) + public boolean isSameItem( @Nonnull final ItemStack is, @Nonnull final ItemStack filter ) { return isEqualItem( is, filter ) && hasSameNbtTag( is, filter ); } diff --git a/src/main/java/appeng/worldgen/MeteoritePlacer.java b/src/main/java/appeng/worldgen/MeteoritePlacer.java index 2dd45512a..84ccddd8d 100644 --- a/src/main/java/appeng/worldgen/MeteoritePlacer.java +++ b/src/main/java/appeng/worldgen/MeteoritePlacer.java @@ -188,7 +188,7 @@ public final class MeteoritePlacer if( j > h + distanceFrom * 0.02 ) { - if( lava && j < y && w.getBlock( x, y - 1, z ).causesDownwardCurrent( w.getWorld(), new BlockPos( i, j, k ), EnumFacing.UP ) ) + if( lava && j < y && w.getBlockState( i, j, k ).getMaterial().isSolid() ) { if( j > h + distanceFrom * 0.02 ) { diff --git a/src/main/java/appeng/worldgen/MeteoriteWorldGen.java b/src/main/java/appeng/worldgen/MeteoriteWorldGen.java index c312d2264..facb2c064 100644 --- a/src/main/java/appeng/worldgen/MeteoriteWorldGen.java +++ b/src/main/java/appeng/worldgen/MeteoriteWorldGen.java @@ -23,8 +23,8 @@ import java.util.Random; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraftforge.fml.common.IWorldGenerator; import appeng.api.features.IWorldGen.WorldGenType; @@ -40,7 +40,7 @@ import appeng.worldgen.meteorite.ChunkOnly; public final class MeteoriteWorldGen implements IWorldGenerator { @Override - public void generate( final Random r, final int chunkX, final int chunkZ, final World w, final IChunkGenerator chunkGenerator, final IChunkProvider chunkProvider ) + public void generate(final Random r, final int chunkX, final int chunkZ, final World w, final IChunkGenerator chunkGenerator, final IChunkProvider chunkProvider ) { if( WorldGenRegistry.INSTANCE.isWorldGenEnabled( WorldGenType.METEORITES, w ) ) { diff --git a/src/main/java/appeng/worldgen/QuartzWorldGen.java b/src/main/java/appeng/worldgen/QuartzWorldGen.java index 8a0db969b..38ed2d515 100644 --- a/src/main/java/appeng/worldgen/QuartzWorldGen.java +++ b/src/main/java/appeng/worldgen/QuartzWorldGen.java @@ -24,8 +24,8 @@ import java.util.Random; import net.minecraft.block.Block; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraftforge.fml.common.IWorldGenerator; @@ -56,7 +56,7 @@ public final class QuartzWorldGen implements IWorldGenerator } @Override - public void generate( final Random r, final int chunkX, final int chunkZ, final World w, final IChunkGenerator chunkGenerator, final IChunkProvider chunkProvider ) + public void generate(final Random r, final int chunkX, final int chunkZ, final World w, final IChunkGenerator chunkGenerator, final IChunkProvider chunkProvider ) { int seaLevel = w.provider.getAverageGroundLevel() + 1; diff --git a/src/test/java/appeng/client/render/UVLightmapJsonTest.java b/src/test/java/appeng/client/render/UVLightmapJsonTest.java index cd0ab6710..74241ca58 100644 --- a/src/test/java/appeng/client/render/UVLightmapJsonTest.java +++ b/src/test/java/appeng/client/render/UVLightmapJsonTest.java @@ -19,6 +19,7 @@ package appeng.client.render; +import appeng.core.Registration; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; @@ -37,6 +38,7 @@ import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import net.minecraftforge.fml.common.registry.GameRegistry; @@ -52,29 +54,33 @@ public class UVLightmapJsonTest @EventHandler public void preInit( FMLPreInitializationEvent event ) { - GameRegistry.register( uvlblock = new Block( Material.IRON ) + Registration.addBlockToRegister( uvlblock = new Block( Material.IRON ) { final AxisAlignedBB box = new AxisAlignedBB( 0.25, 0, 7 / 16d, 0.75, 1, 9 / 16d ); + @SuppressWarnings( "deprecation" ) @Override public boolean isFullBlock( IBlockState state ) { return false; } + @SuppressWarnings( "deprecation" ) @Override public boolean isOpaqueCube( IBlockState state ) { return false; } + @SuppressWarnings( "deprecation" ) @Override public AxisAlignedBB getBoundingBox( IBlockState state, IBlockAccess source, BlockPos pos ) { return box; } + @SuppressWarnings( "deprecation" ) @Override public BlockRenderLayer getBlockLayer() { @@ -82,7 +88,7 @@ public class UVLightmapJsonTest } }.setLightLevel( 0.2f ).setCreativeTab( CreativeTabs.DECORATIONS ).setRegistryName( uvlblockR ) ); - GameRegistry.register( uvlblockItem = new ItemBlock( uvlblock ).setRegistryName( uvlblockR ) ); + Registration.addItemToRegister( uvlblockItem = new ItemBlock( uvlblock ).setRegistryName( uvlblockR ) ); ModelBakery.registerItemVariants( uvlblockItem, uvlblockR );