Compare commits

...

68 Commits

Author SHA1 Message Date
yueh ac45095cb4 Merge pull request #2100 from yueh/fix-2099
Fixes #2099: No neighbor update of Pressure P2P before IAirHandler is validated.
2016-01-13 14:57:59 +01:00
yueh 68d3025fac Fixes #2099: No neighbor update of Pressure P2P before IAirHandler is validated. 2016-01-10 21:01:02 +01:00
yueh a62e157e7c Merge pull request #2091 from Adaptivity/master
Ore Dictionary support for recipes
2016-01-08 21:00:34 +01:00
yueh 106b823827 Merge pull request #2088 from fnuecke/master
Reworked computer P2P tunnel for #2087
2016-01-08 20:48:27 +01:00
yueh 8406c00e22 Merge pull request #2092 from GWYOG/master_patch_1
Update zh_CN.lang, fix #2090
2016-01-08 20:36:29 +01:00
JJN 22f05428be fixed #2090
fixed #2090
2016-01-07 09:29:49 +08:00
Adaptivity bd0bf26f30 Ore Dictionary support for recipes
Added missing changes to oredict.recipe
2016-01-06 20:29:33 +03:00
Florian Nücke 2ea05bce5f Reworked computer P2P tunnel to use events, and cleaned up reconnection, fixes #2087.
Just `onTunnelNetworkChange` with tickable is apparently less exhaustive, and less stable. This now avoids issues with network splits and reconnects not being handled in some cases. Also simplified reconnection; there was some duplicate logic in there, with a missing validity check which potentially led to invalid connections.
2016-01-05 19:05:25 +01:00
yueh f47fd1957a Merge pull request #2075 from yueh/fix-2043
Fixes #2043: Storage buses updates should happen in the correct order.
2016-01-05 13:53:01 +01:00
yueh a890e57e44 Merge pull request #2085 from yueh/fix-wrong-api-version
Changed outdated API version to rv3
2016-01-04 08:09:58 +01:00
thatsIch 6e61627d7c Merge pull request #2006 from Mazdallier/patch-1
Update fr_FR.lang
2016-01-03 14:42:59 +01:00
thatsIch 580a17987b Merge pull request #2079 from Honon/patch-1
Japanese translation files
2016-01-03 14:42:07 +01:00
yueh bfe2e6ecb3 API version will be replaced during build with the correct rv. 2016-01-03 14:28:37 +01:00
yueh 38e7e579fa Fixes #2043: Storage buses updates should happen in the correct order.
This is loosely based on #2032 and should prevent any duplicated event,
but still does a refresh the whole cache due to potentially issues with
some inventories.

It also ensures that storage buses will not announce a CellArrayUpdate
before they are fully initialized, thus no longer causing them to return
null during an update.

Fixes #2403
2016-01-03 13:23:51 +01:00
Tier 6aa91c3f65 Japanese translation files
Hello!!
As we have created a Japanese translation files , and you sure you want to got to add when it is good?
2015-12-29 17:46:20 +09:00
yueh 17bdd085b1 Merge pull request #2010 from yueh/feature-logger-refactoring
Refactored the logging
2015-12-27 12:53:01 +01:00
yueh 684cda58c2 Merge pull request #2074 from yueh/backport-1.8-cleanup
Backport some 1.8 cleanups
2015-12-27 12:50:11 +01:00
yueh 740324913e Merge pull request #2073 from yueh/fix-1905-followup
Interfaces now slow down with failed crafting attempts.
2015-12-27 12:50:01 +01:00
yueh dae5e888e9 Merge pull request #2059 from wlhlm/update-german-translation
Update and extend German translation
2015-12-27 12:49:49 +01:00
yueh a3abc7a1f0 Backport some 1.8 cleanups 2015-12-27 12:33:50 +01:00
yueh dd1ae4a9b5 Interfaces now slow down with failed crafting attempts.
Cleanup of unneeded tracking of failed attempts of MultiCraftingTracker.
Followup of #1905
2015-12-27 00:00:12 +01:00
yueh c9ef1beea1 Refactored the logging
Using LogManager instead of FMLRelaunchLog to access the logger instance.
Added logging of the name of failed exports instead of exception.
Improved crafting log to include issuer including their location and the
requested item.
Removed superfluous FMLRelaunchLog instance.
Removed superfluous parameters for PlayerData constructor.

Closes #2009
Refs #2069
2015-12-26 23:14:29 +01:00
Wilhelm Schuster 276480519e Update and extend German translation
Add translated achievements.
2015-12-20 14:23:42 +01:00
yueh 04b1ca3485 Merge pull request #2050 from XFRGod/patch-7
Update hu_HU.lang
2015-12-11 22:39:14 +01:00
yueh c14f688100 Merge pull request #1997 from thatsIch/b-1995-versionchecker-config
Fixes #1995: Allows creation of version checker config file after start up
2015-12-11 22:38:54 +01:00
yueh 8bf98919e2 Merge pull request #2053 from AppliedEnergistics/revert-2032-feature-cached-networkmonitor
Revert "Changed NetworkMonitor to update its cache."
2015-12-11 22:31:46 +01:00
yueh 1862ab3562 Revert "Changed NetworkMonitor to update its cache." 2015-12-11 22:26:21 +01:00
XFRGod df6070ecbd Update hu_HU.lang
This is a language "correction"(?) and typo fixing update for the lang file and now it's 110% localized:D
2015-12-11 16:04:16 +01:00
yueh 12cf76a62f Merge pull request #1880 from yueh/feature-rendering-cleanup
Rendering cleanup
2015-12-10 16:36:01 +01:00
yueh 919faefb15 Merge pull request #2032 from yueh/feature-cached-networkmonitor
Changed NetworkMonitor to update its cache.
2015-12-10 16:34:24 +01:00
yueh 71a9687b01 Merge pull request #2045 from yueh/fix-2044
Fixes #2044: No longer uses internal exceptions
2015-12-10 16:33:25 +01:00
yueh e877eac7bb Fixes #2044: No longer uses internal exceptions
Added 3 new exception as subclass to FailedConnection to allow a more
precise handling and/or logging.
2015-12-10 16:24:40 +01:00
yueh 0696662254 Changed NetworkMonitor to update its cache.
No longer invalidates and refresh it with every single change.
This should now also ensure that updates are send exactly once per network
instead of multiple times scaling up with the amount of chained networks.
2015-12-10 16:11:30 +01:00
yueh 1aa84945eb Merge pull request #2037 from XFRGod/patch-5
Update hu_HU.lang
2015-12-07 20:40:53 +01:00
XFRGod 88f9c8ba40 Update hu_HU.lang
Okay now it's absolutely 100% done and I'm officially dead.
Onto EnderIO and Botania then!
2015-12-06 21:36:53 +01:00
yueh 0ed1054aad Merge pull request #2035 from XFRGod/patch-3
Update hu_HU.lang
2015-12-06 16:55:53 +01:00
XFRGod 11f92f6888 Update hu_HU.lang 2015-12-06 16:49:45 +01:00
yueh b0d3a6c743 Merge pull request #2022 from yueh/feature-revert-itemlist-changes
Reverts some of the changes to ItemList.
2015-12-06 14:36:45 +01:00
yueh b252d1f269 Merge pull request #2028 from yueh/fix-2027
Fixes 2027: TinyTNT not triggered by flint&steel.
2015-12-06 14:36:09 +01:00
yueh d4692128a5 Merge pull request #2031 from yueh/e-gridconnection-better-logging
Exception during GridConnection now reports the machine and side.
2015-12-06 14:35:54 +01:00
yueh 599e6f3e64 Exception during GridConnection now reports the machine and side. 2015-11-30 12:55:47 +01:00
yueh 478d400627 Fixes 2027: TinyTNT not triggered by flint&steel. 2015-11-29 18:21:05 +01:00
yueh fbfd13d163 Reverts some of the changes to ItemList.
Removes the split collection as in some rare corner cases the insertion
order is important to maintain the correct data in terms of self cleaning.

Keeps the general cleanups and split of Fluid/ItemList.

Fixes #1964
2015-11-28 11:12:31 +01:00
Mazdallier 5bb0ac7833 Update fr_FR.lang
thanks Pyeroh
2015-11-17 10:27:12 +01:00
yueh 8b4a39085e Fixes #1998: Using the correct culling mode and rotation
Blocks are now rendered with the correct culling mode and rotated similar
to the icon itself, but slightly shifted to the left that the front
texture appears larger (This applies to items following the normal
minecraft rotation like furnaces)

Items are also now rotated a bit differently and more in line with their
item rendering as well as longer being mirror inverted.
2015-11-16 11:31:02 +01:00
yueh d5dfc31210 Rendering cleanup
Replaces the reflexive instantiation of the Renderes with a factory
method.

Some optimizations to the renderers to no longer push the whole OpenGL state to the stack.

General cleanup of duplicate code, etc
2015-11-16 10:52:20 +01:00
yueh 824ec1eccb Merge pull request #1986 from yueh/fix-1983
Fixes #1983: WorldData cleared too early when still needed.
2015-11-16 10:51:05 +01:00
yueh 87eb5498f9 Merge pull request #1996 from thatsIch/b-1970-inscriber-lighting
Fixes #1970: Lighting was not re-enabled when looking at an inscriber
2015-11-16 10:50:56 +01:00
Mazdallier 55c0e6aa56 Update fr_FR.lang 2015-11-16 09:47:36 +01:00
thatsIch 8c62e1e7a6 Fixes #1995: Allows creation of version checker config file after start up 2015-11-11 21:39:29 +01:00
thatsIch 97c099c2ae Fixes #1970: Lighting was not re-enabled when looking at an inscriber 2015-11-11 21:36:53 +01:00
yueh 3c19350b9b Fixes #1983: WorldData cleared too early when still needed. 2015-11-02 12:13:09 +01:00
yueh c83946420e Merge pull request #1936 from yueh/feature-hide-fields
Make all fields private and creates necessary getters/setters
2015-10-30 19:02:00 +01:00
yueh 500fc47490 Reduces visibility of internal fields/methods
Reduces the visibility of all fields to private and create setters/getters
when necessary. Exceptions are fields with GuiSync as these need to be
public.

Reduces the visibility of internal methods to private/protected/default when possible.
2015-10-30 18:52:20 +01:00
thatsIch cb44af5e49 Merge pull request #1974 from thatsIch/b-1973-ignored-required-work
Fixes #1973: 9th slot of ME Interface ignored work
2015-10-29 09:24:43 +01:00
thatsIch c1b966eea1 Fixes #1973: 9th slot of ME Interface ignored work 2015-10-28 11:19:05 +01:00
yueh 8f1d22b863 Merge pull request #1934 from yueh/fix-1932
Fixes #1932: Better VersionChecker exception handling
2015-10-21 14:06:54 +02:00
yueh 15bcf6fbd1 Merge pull request #1957 from bakaxyf/master
Update zh_CN.lang
2015-10-17 19:21:25 +02:00
bakaxyf 1ea48fb389 Update zh_CN.lang
1728f683c3 d893e52eb0 24224a450b
2015-10-18 00:37:39 +08:00
yueh 47592bcbcb Fixes #1932: Better VersionChecker exception handling
ModVersionFetcher will now return a MissingVersion in case of an exception
instead of letting it propagate upwards.

Also added a generic try/catch to the VersionChecker itself, just in case
any unchecked exception might be triggered inside the thread and at least
not logged correctly.
2015-10-12 14:07:36 +02:00
yueh 56435199b7 Merge pull request #1891 from yueh/feature-1156
Added an option to toggle oredict substitutions for patterns.
2015-10-10 22:28:40 +02:00
yueh d615fa2dcd Merge pull request #1940 from yueh/fix-1938
Fixes #1938: UnsortedList not respecting meaningful entries.
2015-10-10 18:31:21 +02:00
yueh 614da977f9 Fixes #1938: UnsortedList not respecting meaningful entries. 2015-10-09 12:27:00 +02:00
yueh 24224a450b Added an option to toggle oredict subsitutions for patterns.
It adds a backward compatibility to convert current patterns to use
oredict by default, which should be removed with rv4 stable.

Closes #1156
2015-10-06 11:33:27 +02:00
thatsIch c14bc82a01 Merge pull request #1900 from thatsIch/export-names-to-csv
Closes #1899, Fixed #1898: Adds an easy way to export item names
2015-10-06 09:00:53 +02:00
yueh 64e4dc08d9 Merge pull request #1908 from yueh/feature-1906
Closes #1906: Using a constant time collection for cells
2015-10-05 20:38:50 +02:00
yueh 2e00a483a0 Closes #1906: Using a constant time collection for cells
Cells are only ever using precise for storing their items, thus there is
no need for a sorted collection with in general logarithmic time.
Storing them inside a HashMap for constant time is a way better solution.

Also adds an UnsortedItemList without fuzzy handling.
If anyone tries to use it, it will currently throw an
UnsupportedOperationException, Should the need arise guava Collections2
could provide a filter for it, but it is no alternative with heavy usage
of fuzzy access.

Also some code cleanup, reducing the visibility when not needed as
protected/default as well as removing actually unused methods.
2015-10-03 15:22:12 +02:00
thatsIch 37ae2131fe Closes #1899, Fixed #1898: Adds an easy way to export interesting information into CSV format
Mostly used for the recipe system, but can also be used for debugging purposes. Debug options needs to be ticked to use the full information gain. Recipes only require the normal localization and the specific name plus metadata.

Shifted the recipes into a recipes folder where the CSV will also reside. This will also elevate the copying of the readme to the user directory since it can reside in the recipes folder.

Fixed a bug where the copier would copy the would also copy empty folders
2015-09-26 23:15:25 +02:00
620 changed files with 10653 additions and 5348 deletions
+4 -4
View File
@@ -45,10 +45,6 @@ buildscript {
}
}
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 7200, 'hours'
}
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6
@@ -82,8 +78,12 @@ minecraft {
version = minecraft_version + "-" + forge_version
replaceIn "AEConfig.java"
replaceIn "package-info.java"
replace "@version@", project.version
replace "@aeversion@", aeversion
replace "@aechannel@", aechannel
replace "@aebuild@", aebuild
// used when launching minecraft in dev env
runDir = "run"
+1 -1
View File
@@ -31,7 +31,7 @@ invtweaks_version=1.58
#########################################################
fmp_version=1.2.0.345
code_chicken_lib_version=1.1.3.138
code_chicken_core_version=1.0.7.46
code_chicken_core_version=1.0.7.47
nei_version=1.0.5.111
bc_version=7.0.9
opencomputers_version=1.5.12.26
+1 -1
View File
@@ -135,5 +135,5 @@ dependencies {
compile(group: 'api', name: 'railcraft', version: "${api_railcraft_version}")
compile(group: 'api', name: 'rf', version: "${api_rf_version}")
testCompile "junit:junit:4.11"
testCompile "junit:junit:4.12"
}
+1 -1
View File
@@ -1,4 +1,4 @@
#Mon Aug 31 16:41:19 CEST 2015
#Tue Sep 01 22:00:39 CEST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
@@ -0,0 +1,30 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2015 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.config;
public enum ItemSubstitution
{
ENABLED, DISABLED;
}
@@ -0,0 +1,56 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.exceptions;
import appeng.api.networking.IGridNode;
/**
* Exception occurred because of an already existing connection between the two {@link IGridNode}s
*
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
*
* @author yueh
* @version rv3
* @since rv3
*/
public class ExistingConnectionException extends FailedConnection
{
private static final long serialVersionUID = 2975450379720353182L;
private static final String DEFAULT_MESSAGE = "Connection between both nodes already exists.";
public ExistingConnectionException()
{
super( DEFAULT_MESSAGE );
}
public ExistingConnectionException( String message )
{
super( message );
}
}
@@ -24,6 +24,22 @@
package appeng.api.exceptions;
import appeng.api.networking.IGridNode;
/**
* Exception indicating a failed connection between two {@link IGridNode}s.
*
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
*
* See any subclass for a more specific reason.
*
* @author AlgorithmX2
* @author yueh
* @version rv3
* @since rv0
*/
public class FailedConnection extends Exception
{
@@ -32,4 +48,9 @@ public class FailedConnection extends Exception
public FailedConnection()
{
}
public FailedConnection( String message )
{
super( message );
}
}
@@ -0,0 +1,53 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.exceptions;
/**
* Exception due to trying to connect one or more null values.
*
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
*
* @author yueh
* @version rv3
* @since rv3
*/
public class NullNodeConnectionException extends FailedConnection
{
private static final long serialVersionUID = -2143719383495321764L;
private static final String DEFAULT_MESSAGE = "Connection forged between null entities.";
public NullNodeConnectionException()
{
super( DEFAULT_MESSAGE );
}
public NullNodeConnectionException( String message )
{
super( message );
}
}
@@ -0,0 +1,52 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.exceptions;
/**
* Exception due to trying to connect different security realms.
*
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
*
* @author yueh
* @version rv3
* @since rv3
*/
public class SecurityConnectionException extends FailedConnection
{
private static final long serialVersionUID = 5048714900434215426L;
private static final String DEFAULT_MESSAGE = "Connection failed due to different security realms.";
public SecurityConnectionException()
{
super( DEFAULT_MESSAGE );
}
public SecurityConnectionException( String message )
{
super( message );
}
}
+1 -1
View File
@@ -21,7 +21,7 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
@API( apiVersion = "rv2", owner = "appliedenergistics2", provides = "appliedenergistics2|API" ) package appeng.api;
@API( apiVersion = "@aeversion@", owner = "appliedenergistics2", provides = "appliedenergistics2|API" ) package appeng.api;
import cpw.mods.fml.common.API;
+19 -24
View File
@@ -61,6 +61,7 @@ import appeng.core.features.IAEFeature;
import appeng.core.features.IFeatureHandler;
import appeng.helpers.AEGlassMaterial;
import appeng.helpers.ICustomCollision;
import appeng.tile.AEBaseTile;
import appeng.util.LookDirection;
import appeng.util.Platform;
@@ -75,7 +76,7 @@ public abstract class AEBaseBlock extends Block implements IAEFeature
protected boolean isInventory = false;
private IFeatureHandler handler;
@SideOnly( Side.CLIENT )
BlockRenderInfo renderInfo;
private BlockRenderInfo renderInfo;
protected AEBaseBlock( final Material mat )
{
@@ -132,30 +133,24 @@ public abstract class AEBaseBlock extends Block implements IAEFeature
return this.renderInfo;
}
try
{
final BaseBlockRender renderer = this.getRenderer().newInstance();
this.renderInfo = new BlockRenderInfo( renderer );
final BaseBlockRender<? extends AEBaseBlock, ? extends AEBaseTile> renderer = this.getRenderer();
this.renderInfo = new BlockRenderInfo( renderer );
return this.renderInfo;
}
catch( final InstantiationException e )
{
throw new IllegalStateException( "Failed to create a new instance of an illegal class " + this.getRenderer(), e );
}
catch( final IllegalAccessException e )
{
throw new IllegalStateException( "Failed to create a new instance of " + this.getRenderer() + " because of permissions.", e );
}
return this.renderInfo;
}
/**
* Factory method to create a new render instance.
*
* @return the newly created instance.
*/
@SideOnly( Side.CLIENT )
protected Class<? extends BaseBlockRender> getRenderer()
protected BaseBlockRender<? extends AEBaseBlock, ? extends AEBaseTile> getRenderer()
{
return BaseBlockRender.class;
return new BaseBlockRender<AEBaseBlock, AEBaseTile>();
}
public IIcon unmappedGetIcon( final IBlockAccess w, final int x, final int y, final int z, final int s )
IIcon unmappedGetIcon( final IBlockAccess w, final int x, final int y, final int z, final int s )
{
return super.getIcon( w, x, y, z, s );
}
@@ -276,15 +271,15 @@ public abstract class AEBaseBlock extends Block implements IAEFeature
{
this.setBlockBounds( (float) bb.minX, (float) bb.minY, (float) bb.minZ, (float) bb.maxX, (float) bb.maxY, (float) bb.maxZ );
final MovingObjectPosition r = super.collisionRayTrace( w, x, y, z, ld.a, ld.b );
final MovingObjectPosition r = super.collisionRayTrace( w, x, y, z, ld.getA(), ld.getB() );
this.setBlockBounds( 0, 0, 0, 1, 1, 1 );
if( r != null )
{
final double xLen = ( ld.a.xCoord - r.hitVec.xCoord );
final double yLen = ( ld.a.yCoord - r.hitVec.yCoord );
final double zLen = ( ld.a.zCoord - r.hitVec.zCoord );
final double xLen = ( ld.getA().xCoord - r.hitVec.xCoord );
final double yLen = ( ld.getA().yCoord - r.hitVec.yCoord );
final double zLen = ( ld.getA().zCoord - r.hitVec.zCoord );
final double thisDist = xLen * xLen + yLen * yLen + zLen * zLen;
@@ -528,7 +523,7 @@ public abstract class AEBaseBlock extends Block implements IAEFeature
super.getSubBlocks( item, tabs, itemStacks );
}
int mapRotation( final IBlockAccess w, final int x, final int y, final int z, final int s )
private int mapRotation( final IBlockAccess w, final int x, final int y, final int z, final int s )
{
final IOrientable ori = this.getOrientable( w, x, y, z );
@@ -611,7 +606,7 @@ public abstract class AEBaseBlock extends Block implements IAEFeature
return this.getUnlocalizedName();
}
public void addInformation( final ItemStack is, final EntityPlayer player, final List<String> lines, final boolean advancedItemTooltips )
void addInformation( final ItemStack is, final EntityPlayer player, final List<String> lines, final boolean advancedItemTooltips )
{
}
@@ -63,7 +63,7 @@ public class AEBaseSlabBlock extends BlockSlab implements IAEFeature
this.features = !this.field_150004_a ? new SlabBlockFeatureHandler( features, this ) : null;
}
public AEBaseSlabBlock setSlabs( final AEBaseSlabBlock slabs )
private AEBaseSlabBlock setSlabs( final AEBaseSlabBlock slabs )
{
this.slabs = slabs;
return this;
@@ -98,7 +98,7 @@ public abstract class AEBaseTileBlock extends AEBaseBlock implements IAEFeature,
ReflectionHelper.setPrivateValue( Block.class, this, b, "isTileProvider" );
}
public boolean hasBlockTileEntity()
private boolean hasBlockTileEntity()
{
return this.tileEntityType != null;
}
@@ -32,7 +32,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.AEApi;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockCraftingCPUMonitor;
import appeng.client.texture.ExtraBlockTextures;
import appeng.tile.crafting.TileCraftingMonitorTile;
@@ -46,9 +45,10 @@ public class BlockCraftingMonitor extends BlockCraftingUnit
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockCraftingCPUMonitor getRenderer()
{
return RenderBlockCraftingCPUMonitor.class;
return new RenderBlockCraftingCPUMonitor();
}
@Override
@@ -36,7 +36,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockCraftingCPU;
import appeng.client.texture.ExtraBlockTextures;
import appeng.core.features.AEFeature;
@@ -47,7 +46,7 @@ import appeng.util.Platform;
public class BlockCraftingUnit extends AEBaseTileBlock
{
public static final int FLAG_FORMED = 8;
static final int FLAG_FORMED = 8;
public BlockCraftingUnit()
{
@@ -59,9 +58,10 @@ public class BlockCraftingUnit extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockCraftingCPU<? extends BlockCraftingUnit, ? extends TileCraftingTile> getRenderer()
{
return RenderBlockCraftingCPU.class;
return new RenderBlockCraftingCPU<BlockCraftingUnit, TileCraftingTile>();
}
@Override
@@ -30,7 +30,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockAssembler;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
@@ -41,7 +40,7 @@ import appeng.util.Platform;
public class BlockMolecularAssembler extends AEBaseTileBlock
{
public static boolean booleanAlphaPass = false;
private static boolean booleanAlphaPass = false;
public BlockMolecularAssembler()
{
@@ -62,15 +61,15 @@ public class BlockMolecularAssembler extends AEBaseTileBlock
@Override
public boolean canRenderInPass( final int pass )
{
booleanAlphaPass = pass == 1;
setBooleanAlphaPass( pass == 1 );
return pass == 0 || pass == 1;
}
@Override
@SideOnly( Side.CLIENT )
public Class<? extends BaseBlockRender> getRenderer()
public RenderBlockAssembler getRenderer()
{
return RenderBlockAssembler.class;
return new RenderBlockAssembler();
}
@Override
@@ -84,4 +83,14 @@ public class BlockMolecularAssembler extends AEBaseTileBlock
}
return false;
}
public static boolean isBooleanAlphaPass()
{
return booleanAlphaPass;
}
private static void setBooleanAlphaPass( final boolean booleanAlphaPass )
{
BlockMolecularAssembler.booleanAlphaPass = booleanAlphaPass;
}
}
@@ -50,6 +50,6 @@ public class ItemCraftingStorage extends AEBaseItemBlock
@Override
public boolean hasContainerItem( final ItemStack stack )
{
return AEConfig.instance.isFeatureEnabled( AEFeature.enableDisassemblyCrafting );
return AEConfig.instance.isFeatureEnabled( AEFeature.EnableDisassemblyCrafting );
}
}
@@ -31,9 +31,11 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.implementations.tiles.ICrankable;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockCrank;
import appeng.core.features.AEFeature;
import appeng.core.stats.Stats;
@@ -56,9 +58,10 @@ public class BlockCrank extends AEBaseTileBlock
}
@Override
public Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
public RenderBlockCrank getRenderer()
{
return RenderBlockCrank.class;
return new RenderBlockCrank();
}
@Override
@@ -37,7 +37,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.AEApi;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockCharger;
import appeng.client.render.effects.LightningFX;
import appeng.core.AEConfig;
@@ -63,9 +62,10 @@ public class BlockCharger extends AEBaseTileBlock implements ICustomCollision
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockCharger getRenderer()
{
return RenderBlockCharger.class;
return new RenderBlockCharger();
}
@Override
@@ -26,8 +26,10 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockInscriber;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
@@ -49,9 +51,10 @@ public class BlockInscriber extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockInscriber getRenderer()
{
return RenderBlockInscriber.class;
return new RenderBlockInscriber();
}
@Override
@@ -26,9 +26,11 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.util.IOrientable;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockInterface;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
@@ -48,9 +50,10 @@ public class BlockInterface extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockInterface getRenderer()
{
return RenderBlockInterface.class;
return new RenderBlockInterface();
}
@Override
@@ -91,9 +91,10 @@ public class BlockLightDetector extends AEBaseTileBlock implements IOrientableBl
}
@Override
protected Class<? extends RenderQuartzTorch> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderQuartzTorch getRenderer()
{
return RenderQuartzTorch.class;
return new RenderQuartzTorch();
}
@Override
@@ -37,7 +37,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockPaint;
import appeng.core.features.AEFeature;
import appeng.tile.misc.TilePaint;
@@ -59,9 +58,10 @@ public class BlockPaint extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockPaint getRenderer()
{
return RenderBlockPaint.class;
return new RenderBlockPaint();
}
@Override
@@ -33,7 +33,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.util.IOrientableBlock;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockQuartzAccelerator;
import appeng.client.render.effects.LightningFX;
import appeng.core.AEConfig;
@@ -55,9 +54,10 @@ public class BlockQuartzGrowthAccelerator extends AEBaseTileBlock implements IOr
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockQuartzAccelerator getRenderer()
{
return RenderBlockQuartzAccelerator.class;
return new RenderBlockQuartzAccelerator();
}
@Override
@@ -71,7 +71,7 @@ public class BlockQuartzGrowthAccelerator extends AEBaseTileBlock implements IOr
final TileQuartzGrowthAccelerator cga = this.getTileEntity( w, x, y, z );
if( cga != null && cga.hasPower && CommonHelper.proxy.shouldAddParticles( r ) )
if( cga != null && cga.isPowered() && CommonHelper.proxy.shouldAddParticles( r ) )
{
final double d0 = r.nextFloat() - 0.5F;
final double d1 = r.nextFloat() - 0.5F;
@@ -39,7 +39,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.util.IOrientable;
import appeng.api.util.IOrientableBlock;
import appeng.block.AEBaseBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderQuartzTorch;
import appeng.client.render.effects.LightningFX;
import appeng.core.AEConfig;
@@ -63,9 +62,10 @@ public class BlockQuartzTorch extends AEBaseBlock implements IOrientableBlock, I
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderQuartzTorch getRenderer()
{
return RenderQuartzTorch.class;
return new RenderQuartzTorch();
}
@Override
@@ -26,8 +26,10 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RendererSecurity;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
@@ -47,9 +49,10 @@ public class BlockSecurity extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RendererSecurity getRenderer()
{
return RendererSecurity.class;
return new RendererSecurity();
}
@Override
@@ -37,7 +37,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockSkyCompass;
import appeng.core.features.AEFeature;
import appeng.helpers.ICustomCollision;
@@ -57,9 +56,10 @@ public class BlockSkyCompass extends AEBaseTileBlock implements ICustomCollision
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockSkyCompass getRenderer()
{
return RenderBlockSkyCompass.class;
return new RenderBlockSkyCompass();
}
@Override
@@ -40,9 +40,10 @@ import net.minecraft.world.Explosion;
import net.minecraft.world.World;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderTinyTNT;
import appeng.client.texture.FullIcon;
import appeng.core.AppEng;
@@ -66,13 +67,14 @@ public class BlockTinyTNT extends AEBaseBlock implements ICustomCollision
this.setHardness( 0F );
this.setFeature( EnumSet.of( AEFeature.TinyTNT ) );
EntityRegistry.registerModEntity( EntityTinyTNTPrimed.class, "EntityTinyTNTPrimed", EntityIds.TINY_TNT, AppEng.instance(), 16, 4, true );
EntityRegistry.registerModEntity( EntityTinyTNTPrimed.class, "EntityTinyTNTPrimed", EntityIds.get( EntityTinyTNTPrimed.class ), AppEng.instance(), 16, 4, true );
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderTinyTNT getRenderer()
{
return RenderTinyTNT.class;
return new RenderTinyTNT();
}
@Override
@@ -89,19 +91,18 @@ public class BlockTinyTNT extends AEBaseBlock implements ICustomCollision
}
@Override
public boolean onActivated( final World w, final int x, final int y, final int z, final EntityPlayer player, final int side, final float hitX, final float hitY, final float hitZ )
public boolean onBlockActivated( World w, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ )
{
if( player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == Items.flint_and_steel )
{
this.startFuse( w, x, y, z, player );
w.setBlockToAir( x, y, z );
player.getCurrentEquippedItem().damageItem( 1, player );
return true;
}
else
{
return super.onActivated( w, x, y, z, player, side, hitX, hitY, hitZ );
}
return super.onBlockActivated( w, x, y, z, player, side, hitX, hitY, hitZ );
}
@Override
@@ -110,16 +111,6 @@ public class BlockTinyTNT extends AEBaseBlock implements ICustomCollision
// no images required.
}
public void startFuse( final World w, final int x, final int y, final int z, final EntityLivingBase igniter )
{
if( !w.isRemote )
{
final EntityTinyTNTPrimed primedTinyTNTEntity = new EntityTinyTNTPrimed( w, x + 0.5F, y + 0.5F, z + 0.5F, igniter );
w.spawnEntityInWorld( primedTinyTNTEntity );
w.playSoundAtEntity( primedTinyTNTEntity, "game.tnt.primed", 1.0F, 1.0F );
}
}
@Override
public void onBlockAdded( final World w, final int x, final int y, final int z )
{
@@ -185,4 +176,14 @@ public class BlockTinyTNT extends AEBaseBlock implements ICustomCollision
{
out.add( AxisAlignedBB.getBoundingBox( 0.25, 0, 0.25, 0.75, 0.5, 0.75 ) );
}
public void startFuse( final World w, final int x, final int y, final int z, final EntityLivingBase igniter )
{
if( !w.isRemote )
{
final EntityTinyTNTPrimed primedTinyTNTEntity = new EntityTinyTNTPrimed( w, x + 0.5F, y + 0.5F, z + 0.5F, igniter );
w.spawnEntityInWorld( primedTinyTNTEntity );
w.playSoundAtEntity( primedTinyTNTEntity, "game.tnt.primed", 1.0F, 1.0F );
}
}
}
@@ -54,7 +54,6 @@ import appeng.api.parts.PartItemStack;
import appeng.api.parts.SelectedPart;
import appeng.api.util.AEColor;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.BusRenderHelper;
import appeng.client.render.blocks.RendererCableBus;
import appeng.client.texture.ExtraBlockTextures;
@@ -64,6 +63,7 @@ import appeng.core.CommonHelper;
import appeng.core.features.AECableBusFeatureHandler;
import appeng.core.features.AEFeature;
import appeng.helpers.AEGlassMaterial;
import appeng.helpers.Reflected;
import appeng.integration.IntegrationRegistry;
import appeng.integration.IntegrationType;
import appeng.integration.abstraction.IFMP;
@@ -82,13 +82,19 @@ public class BlockCableBus extends AEBaseTileBlock implements IRedNetConnection
{
private static final ICableBusContainer NULL_CABLE_BUS = new NullCableBusContainer();
public static Class<? extends TileEntity> noTesrTile;
public static Class<? extends TileEntity> tesrTile;
private static Class<? extends TileEntity> noTesrTile;
private static Class<? extends TileEntity> tesrTile;
/**
* Immibis MB Support.
*
* It will look for a field named ImmibisMicroblocks_TransformableBlockMarker or
* ImmibisMicroblocks_TransformableTileEntityMarker, modifiers, type, etc can be ignored.
*/
boolean ImmibisMicroblocks_TransformableBlockMarker = true;
int myColorMultiplier = 0xffffff;
@Reflected
private static final boolean ImmibisMicroblocks_TransformableBlockMarker = true;
private int myColorMultiplier = 0xffffff;
public BlockCableBus()
{
@@ -396,7 +402,7 @@ public class BlockCableBus extends AEBaseTileBlock implements IRedNetConnection
if( te instanceof TileCableBus )
{
out = ( (TileCableBus) te ).cb;
out = ( (TileCableBus) te ).getCableBus();
}
else if( IntegrationRegistry.INSTANCE.isEnabled( IntegrationType.FMP ) )
{
@@ -407,9 +413,10 @@ public class BlockCableBus extends AEBaseTileBlock implements IRedNetConnection
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RendererCableBus getRenderer()
{
return RendererCableBus.class;
return new RendererCableBus();
}
@Override
@@ -516,4 +523,14 @@ public class BlockCableBus extends AEBaseTileBlock implements IRedNetConnection
{
this.myColorMultiplier = color;
}
public static Class<? extends TileEntity> getTesrTile()
{
return BlockCableBus.tesrTile;
}
public static Class<? extends TileEntity> getNoTesrTile()
{
return BlockCableBus.noTesrTile;
}
}
@@ -25,8 +25,10 @@ import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockController;
import appeng.core.features.AEFeature;
import appeng.tile.networking.TileController;
@@ -54,8 +56,9 @@ public class BlockController extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockController getRenderer()
{
return RenderBlockController.class;
return new RenderBlockController();
}
}
@@ -34,7 +34,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseItemBlock;
import appeng.block.AEBaseItemBlockChargeable;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockEnergyCube;
import appeng.client.texture.ExtraBlockTextures;
import appeng.core.features.AEFeature;
@@ -55,9 +54,10 @@ public class BlockEnergyCell extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockEnergyCube getRenderer()
{
return RenderBlockEnergyCube.class;
return new RenderBlockEnergyCube();
}
@Override
@@ -29,8 +29,10 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockWireless;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
@@ -54,9 +56,10 @@ public class BlockWireless extends AEBaseTileBlock implements ICustomCollision
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockWireless getRenderer()
{
return RenderBlockWireless.class;
return new RenderBlockWireless();
}
@Override
@@ -25,6 +25,9 @@ import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.blocks.RenderQNB;
import appeng.core.features.AEFeature;
@@ -69,9 +72,10 @@ public abstract class BlockQuantumBase extends AEBaseTileBlock implements ICusto
}
@Override
protected Class<? extends RenderQNB> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderQNB getRenderer()
{
return RenderQNB.class;
return new RenderQNB();
}
}
@@ -28,7 +28,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderQuartzGlass;
import appeng.core.features.AEFeature;
import appeng.helpers.AEGlassMaterial;
@@ -46,9 +45,9 @@ public class BlockQuartzGlass extends AEBaseBlock
@Override
@SideOnly( Side.CLIENT )
public Class<? extends BaseBlockRender> getRenderer()
public RenderQuartzGlass getRenderer()
{
return RenderQuartzGlass.class;
return new RenderQuartzGlass();
}
@Override
@@ -31,10 +31,12 @@ import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.AEApi;
import appeng.api.exceptions.MissingDefinition;
import appeng.block.AEBaseBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderQuartzOre;
import appeng.core.features.AEFeature;
@@ -57,9 +59,10 @@ public class OreQuartz extends AEBaseBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderQuartzOre getRenderer()
{
return RenderQuartzOre.class;
return new RenderQuartzOre();
}
@Override
@@ -150,12 +153,12 @@ public class OreQuartz extends AEBaseBlock
}
}
public void setBoostBrightnessLow( final int boostBrightnessLow )
void setBoostBrightnessLow( final int boostBrightnessLow )
{
this.boostBrightnessLow = boostBrightnessLow;
}
public void setBoostBrightnessHigh( final int boostBrightnessHigh )
void setBoostBrightnessHigh( final int boostBrightnessHigh )
{
this.boostBrightnessHigh = boostBrightnessHigh;
}
@@ -38,7 +38,6 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderNull;
import appeng.core.features.AEFeature;
import appeng.helpers.ICustomCollision;
@@ -58,9 +57,10 @@ public class BlockMatrixFrame extends AEBaseBlock implements ICustomCollision
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderNull getRenderer()
{
return RenderNull.class;
return new RenderNull();
}
@Override
@@ -25,8 +25,10 @@ import net.minecraft.block.Block;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderSpatialPylon;
import appeng.core.features.AEFeature;
import appeng.helpers.AEGlassMaterial;
@@ -65,8 +67,9 @@ public class BlockSpatialPylon extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderSpatialPylon getRenderer()
{
return RenderSpatialPylon.class;
return new RenderSpatialPylon();
}
}
@@ -27,10 +27,12 @@ import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.AEApi;
import appeng.api.storage.ICellHandler;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderMEChest;
import appeng.core.features.AEFeature;
import appeng.core.localization.PlayerMessages;
@@ -50,9 +52,10 @@ public class BlockChest extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderMEChest getRenderer()
{
return RenderMEChest.class;
return new RenderMEChest();
}
@Override
@@ -26,8 +26,10 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderDrive;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
@@ -46,9 +48,10 @@ public class BlockDrive extends AEBaseTileBlock
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderDrive getRenderer()
{
return RenderDrive.class;
return new RenderDrive();
}
@Override
@@ -43,7 +43,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import appeng.api.AEApi;
import appeng.block.AEBaseTileBlock;
import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockSkyChest;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
@@ -83,9 +82,10 @@ public class BlockSkyChest extends AEBaseTileBlock implements ICustomCollision
}
@Override
protected Class<? extends BaseBlockRender> getRenderer()
@SideOnly( Side.CLIENT )
protected RenderBlockSkyChest getRenderer()
{
return RenderBlockSkyChest.class;
return new RenderBlockSkyChest();
}
@Override
@@ -128,7 +128,7 @@ public class ClientHelper extends ServerHelper
@Override
public void bindTileEntitySpecialRenderer( final Class tile, final AEBaseBlock blk )
{
final BaseBlockRender bbr = blk.getRendererInstance().rendererInstance;
final BaseBlockRender bbr = blk.getRendererInstance().getRendererInstance();
if( bbr.hasTESR() && tile != null )
{
ClientRegistry.bindTileEntitySpecialRenderer( tile, new TESRWrapper( bbr ) );
@@ -413,7 +413,7 @@ public class ClientHelper extends ServerHelper
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
}
+56 -37
View File
@@ -83,17 +83,16 @@ import appeng.integration.abstraction.INEI;
public abstract class AEBaseGui extends GuiContainer
{
public static boolean switchingGuis;
protected final List<InternalSlotME> meSlots = new LinkedList<InternalSlotME>();
private static boolean switchingGuis;
private final List<InternalSlotME> meSlots = new LinkedList<InternalSlotME>();
// drag y
final Set<Slot> drag_click = new HashSet<Slot>();
final AppEngRenderItem aeRenderItem = new AppEngRenderItem();
protected GuiScrollbar myScrollBar = null;
boolean disableShiftClick = false;
Stopwatch dbl_clickTimer = Stopwatch.createStarted();
ItemStack dbl_whichItem;
Slot bl_clicked;
boolean useNEI = false;
private final Set<Slot> drag_click = new HashSet<Slot>();
private final AppEngRenderItem aeRenderItem = new AppEngRenderItem();
private GuiScrollbar scrollBar = null;
private boolean disableShiftClick = false;
private Stopwatch dbl_clickTimer = Stopwatch.createStarted();
private ItemStack dbl_whichItem;
private Slot bl_clicked;
private boolean subGui;
public AEBaseGui( final Container container )
@@ -161,9 +160,9 @@ public abstract class AEBaseGui extends GuiContainer
super.drawScreen( mouseX, mouseY, btn );
final boolean hasClicked = Mouse.isButtonDown( 0 );
if( hasClicked && this.myScrollBar != null )
if( hasClicked && this.scrollBar != null )
{
this.myScrollBar.click( this, mouseX - this.guiLeft, mouseY - this.guiTop );
this.scrollBar.click( this, mouseX - this.guiLeft, mouseY - this.guiTop );
}
for( final Object c : this.buttonList )
@@ -289,9 +288,9 @@ public abstract class AEBaseGui extends GuiContainer
final int oy = this.guiTop; // (height - ySize) / 2;
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
if( this.myScrollBar != null )
if( this.scrollBar != null )
{
this.myScrollBar.draw( this );
this.scrollBar.draw( this );
}
this.drawFG( ox, oy, x, y );
@@ -317,14 +316,14 @@ public abstract class AEBaseGui extends GuiContainer
{
if( fs.isEnabled() )
{
this.drawTexturedModalRect( ox + fs.xDisplayPosition - 1, oy + fs.yDisplayPosition - 1, fs.srcX - 1, fs.srcY - 1, 18, 18 );
this.drawTexturedModalRect( ox + fs.xDisplayPosition - 1, oy + fs.yDisplayPosition - 1, fs.getSourceX() - 1, fs.getSourceY() - 1, 18, 18 );
}
else
{
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 0.4F );
GL11.glEnable( GL11.GL_BLEND );
this.drawTexturedModalRect( ox + fs.xDisplayPosition - 1, oy + fs.yDisplayPosition - 1, fs.srcX - 1, fs.srcY - 1, 18, 18 );
this.drawTexturedModalRect( ox + fs.xDisplayPosition - 1, oy + fs.yDisplayPosition - 1, fs.getSourceX() - 1, fs.getSourceY() - 1, 18, 18 );
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
GL11.glPopAttrib();
}
@@ -411,7 +410,7 @@ public abstract class AEBaseGui extends GuiContainer
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
else if( slot instanceof SlotCraftingTerm )
@@ -490,7 +489,7 @@ public abstract class AEBaseGui extends GuiContainer
if( action != null )
{
final PacketInventoryAction p = new PacketInventoryAction( action, slot.getSlotIndex(), ( (SlotDisconnected) slot ).mySlot.id );
final PacketInventoryAction p = new PacketInventoryAction( action, slot.getSlotIndex(), ( (SlotDisconnected) slot ).getSlot().getId() );
NetworkHandler.instance.sendToServer( p );
}
@@ -680,13 +679,13 @@ public abstract class AEBaseGui extends GuiContainer
final int y = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1;
this.mouseWheelEvent( x, y, i / Math.abs( i ) );
}
else if( i != 0 && this.myScrollBar != null )
else if( i != 0 && this.scrollBar != null )
{
this.myScrollBar.wheel( i );
this.scrollBar.wheel( i );
}
}
protected void mouseWheelEvent( final int x, final int y, final int wheel )
private void mouseWheelEvent( final int x, final int y, final int wheel )
{
final Slot slot = this.getSlot( x, y );
if( slot instanceof SlotME )
@@ -744,22 +743,17 @@ public abstract class AEBaseGui extends GuiContainer
{
if( this.inventorySlots instanceof AEBaseContainer )
{
return ( (AEBaseContainer) this.inventorySlots ).customName != null;
return ( (AEBaseContainer) this.inventorySlots ).getCustomName() != null;
}
return false;
}
private String getInventoryName()
{
return ( (AEBaseContainer) this.inventorySlots ).customName;
return ( (AEBaseContainer) this.inventorySlots ).getCustomName();
}
public void a( final Slot s )
{
this.drawSlot( s );
}
public void drawSlot( final Slot s )
private void drawSlot( final Slot s )
{
if( s instanceof SlotME )
{
@@ -779,13 +773,13 @@ public abstract class AEBaseGui extends GuiContainer
this.zLevel = 0.0F;
itemRender.zLevel = 0.0F;
this.aeRenderItem.aeStack = ( (SlotME) s ).getAEStack();
this.aeRenderItem.setAeStack( ( (SlotME) s ).getAEStack() );
this.safeDrawSlot( s );
}
catch( final Exception err )
{
AELog.warning( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
AELog.warn( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
}
this.setItemRender( pIR );
return;
@@ -841,7 +835,7 @@ public abstract class AEBaseGui extends GuiContainer
if( is != null && s instanceof AppEngSlot )
{
if( ( (AppEngSlot) s ).isValid == hasCalculatedValidness.NotAvailable )
if( ( (AppEngSlot) s ).getIsValid() == hasCalculatedValidness.NotAvailable )
{
boolean isValid = s.isItemValid( is ) || s instanceof SlotOutput || s instanceof AppEngCraftingSlot || s instanceof SlotDisabled || s instanceof SlotInaccessible || s instanceof SlotFake || s instanceof SlotRestrictedInput || s instanceof SlotDisconnected;
if( isValid && s instanceof SlotRestrictedInput )
@@ -852,13 +846,13 @@ public abstract class AEBaseGui extends GuiContainer
}
catch( final Exception err )
{
AELog.error( err );
AELog.debug( err );
}
}
( (AppEngSlot) s ).isValid = isValid ? hasCalculatedValidness.Valid : hasCalculatedValidness.Invalid;
( (AppEngSlot) s ).setIsValid( isValid ? hasCalculatedValidness.Valid : hasCalculatedValidness.Invalid );
}
if( ( (AppEngSlot) s ).isValid == hasCalculatedValidness.Invalid )
if( ( (AppEngSlot) s ).getIsValid() == hasCalculatedValidness.Invalid )
{
this.zLevel = 100.0F;
itemRender.zLevel = 100.0F;
@@ -874,7 +868,7 @@ public abstract class AEBaseGui extends GuiContainer
if( s instanceof AppEngSlot )
{
( (AppEngSlot) s ).isDisplay = true;
( (AppEngSlot) s ).setDisplay( true );
this.safeDrawSlot( s );
}
else
@@ -886,7 +880,7 @@ public abstract class AEBaseGui extends GuiContainer
}
catch( final Exception err )
{
AELog.warning( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
AELog.warn( "[AppEng] AE prevented crash while drawing slot: " + err.toString() );
}
}
// do the usual for non-ME Slots.
@@ -933,4 +927,29 @@ public abstract class AEBaseGui extends GuiContainer
{
this.drawSlot( s );
}
protected GuiScrollbar getScrollBar()
{
return this.scrollBar;
}
protected void setScrollBar( final GuiScrollbar myScrollBar )
{
this.scrollBar = myScrollBar;
}
protected List<InternalSlotME> getMeSlots()
{
return this.meSlots;
}
public static final synchronized boolean isSwitchingGuis()
{
return switchingGuis;
}
public static final synchronized void setSwitchingGuis( final boolean switchingGuis )
{
AEBaseGui.switchingGuis = switchingGuis;
}
}
@@ -47,19 +47,17 @@ import appeng.util.Platform;
public class GuiCellWorkbench extends GuiUpgradeable
{
final ContainerCellWorkbench workbench;
final TileCellWorkbench tcw;
private final ContainerCellWorkbench workbench;
GuiImgButton clear;
GuiImgButton partition;
GuiToggleButton copyMode;
private GuiImgButton clear;
private GuiImgButton partition;
private GuiToggleButton copyMode;
public GuiCellWorkbench( final InventoryPlayer inventoryPlayer, final TileCellWorkbench te )
{
super( new ContainerCellWorkbench( inventoryPlayer, te ) );
this.workbench = (ContainerCellWorkbench) this.inventorySlots;
this.ySize = 251;
this.tcw = te;
}
@Override
@@ -135,7 +133,7 @@ public class GuiCellWorkbench extends GuiUpgradeable
@Override
protected void handleButtonVisibility()
{
this.copyMode.setState( this.workbench.copyMode == CopyMode.CLEAR_ON_REMOVE );
this.copyMode.setState( this.workbench.getCopyMode() == CopyMode.CLEAR_ON_REMOVE );
boolean hasFuzzy = false;
final IInventory inv = this.workbench.getCellUpgradeInventory();
@@ -35,7 +35,7 @@ import appeng.tile.storage.TileChest;
public class GuiChest extends AEBaseGui
{
GuiTabButton priority;
private GuiTabButton priority;
public GuiChest( final InventoryPlayer inventoryPlayer, final TileChest te )
{
@@ -39,9 +39,9 @@ import appeng.tile.misc.TileCondenser;
public class GuiCondenser extends AEBaseGui
{
final ContainerCondenser cvc;
GuiProgressBar pb;
GuiImgButton mode;
private final ContainerCondenser cvc;
private GuiProgressBar pb;
private GuiImgButton mode;
public GuiCondenser( final InventoryPlayer inventoryPlayer, final TileCondenser te )
{
@@ -70,7 +70,7 @@ public class GuiCondenser extends AEBaseGui
this.pb = new GuiProgressBar( this.cvc, "guis/condenser.png", 120 + this.guiLeft, 25 + this.guiTop, 178, 25, 6, 18, Direction.VERTICAL, GuiText.StoredEnergy.getLocal() );
this.mode = new GuiImgButton( 128 + this.guiLeft, 52 + this.guiTop, Settings.CONDENSER_OUTPUT, this.cvc.output );
this.mode = new GuiImgButton( 128 + this.guiLeft, 52 + this.guiTop, Settings.CONDENSER_OUTPUT, this.cvc.getOutput() );
this.buttonList.add( this.pb );
this.buttonList.add( this.mode );
@@ -82,8 +82,8 @@ public class GuiCondenser extends AEBaseGui
this.fontRendererObj.drawString( this.getGuiDisplayName( GuiText.Condenser.getLocal() ), 8, 6, 4210752 );
this.fontRendererObj.drawString( GuiText.inventory.getLocal(), 8, this.ySize - 96 + 3, 4210752 );
this.mode.set( this.cvc.output );
this.mode.fillVar = String.valueOf( this.cvc.output.requiredPower );
this.mode.set( this.cvc.getOutput() );
this.mode.setFillVar( String.valueOf( this.cvc.getOutput().requiredPower ) );
}
@Override
@@ -58,28 +58,30 @@ import appeng.util.Platform;
public class GuiCraftConfirm extends AEBaseGui
{
final ContainerCraftConfirm ccc;
private final ContainerCraftConfirm ccc;
final int rows = 5;
private final int rows = 5;
final IItemList<IAEItemStack> storage = AEApi.instance().storage().createItemList();
final IItemList<IAEItemStack> pending = AEApi.instance().storage().createItemList();
final IItemList<IAEItemStack> missing = AEApi.instance().storage().createItemList();
private final IItemList<IAEItemStack> storage = AEApi.instance().storage().createItemList();
private final IItemList<IAEItemStack> pending = AEApi.instance().storage().createItemList();
private final IItemList<IAEItemStack> missing = AEApi.instance().storage().createItemList();
final List<IAEItemStack> visual = new ArrayList<IAEItemStack>();
private final List<IAEItemStack> visual = new ArrayList<IAEItemStack>();
GuiBridge OriginalGui;
GuiButton cancel;
GuiButton start;
GuiButton selectCPU;
int tooltip = -1;
private GuiBridge OriginalGui;
private GuiButton cancel;
private GuiButton start;
private GuiButton selectCPU;
private int tooltip = -1;
public GuiCraftConfirm( final InventoryPlayer inventoryPlayer, final ITerminalHost te )
{
super( new ContainerCraftConfirm( inventoryPlayer, te ) );
this.xSize = 238;
this.ySize = 206;
this.myScrollBar = new GuiScrollbar();
final GuiScrollbar scrollbar = new GuiScrollbar();
this.setScrollBar( scrollbar );
this.ccc = (ContainerCraftConfirm) this.inventorySlots;
@@ -106,7 +108,7 @@ public class GuiCraftConfirm extends AEBaseGui
boolean isAutoStart()
{
return ( (ContainerCraftConfirm) this.inventorySlots ).autoStart;
return ( (ContainerCraftConfirm) this.inventorySlots ).isAutoStart();
}
@Override
@@ -135,7 +137,7 @@ public class GuiCraftConfirm extends AEBaseGui
{
this.updateCPUButtonText();
this.start.enabled = !( this.ccc.noCPU || this.isSimulation() );
this.start.enabled = !( this.ccc.hasNoCPU() || this.isSimulation() );
this.selectCPU.enabled = !this.isSimulation();
final int gx = ( this.width - this.xSize ) / 2;
@@ -175,20 +177,20 @@ public class GuiCraftConfirm extends AEBaseGui
private void updateCPUButtonText()
{
String btnTextText = GuiText.CraftingCPU.getLocal() + ": " + GuiText.Automatic.getLocal();
if( this.ccc.selectedCpu >= 0 )// && status.selectedCpu < status.cpus.size() )
if( this.ccc.getSelectedCpu() >= 0 )// && status.selectedCpu < status.cpus.size() )
{
if( this.ccc.myName.length() > 0 )
if( this.ccc.getName().length() > 0 )
{
final String name = this.ccc.myName.substring( 0, Math.min( 20, this.ccc.myName.length() ) );
final String name = this.ccc.getName().substring( 0, Math.min( 20, this.ccc.getName().length() ) );
btnTextText = GuiText.CraftingCPU.getLocal() + ": " + name;
}
else
{
btnTextText = GuiText.CraftingCPU.getLocal() + ": #" + this.ccc.selectedCpu;
btnTextText = GuiText.CraftingCPU.getLocal() + ": #" + this.ccc.getSelectedCpu();
}
}
if( this.ccc.noCPU )
if( this.ccc.hasNoCPU() )
{
btnTextText = GuiText.NoCraftingCPUs.getLocal();
}
@@ -196,15 +198,15 @@ public class GuiCraftConfirm extends AEBaseGui
this.selectCPU.displayString = btnTextText;
}
boolean isSimulation()
private boolean isSimulation()
{
return ( (ContainerCraftConfirm) this.inventorySlots ).simulation;
return ( (ContainerCraftConfirm) this.inventorySlots ).isSimulation();
}
@Override
public void drawFG( final int offsetX, final int offsetY, final int mouseX, final int mouseY )
{
final long BytesUsed = this.ccc.bytesUsed;
final long BytesUsed = this.ccc.getUsedBytes();
final String byteUsed = NumberFormat.getInstance().format( BytesUsed );
final String Add = BytesUsed > 0 ? ( byteUsed + ' ' + GuiText.BytesUsed.getLocal() ) : GuiText.CalculatingWait.getLocal();
this.fontRendererObj.drawString( GuiText.CraftingPlan.getLocal() + " - " + Add, 8, 7, 4210752 );
@@ -217,7 +219,7 @@ public class GuiCraftConfirm extends AEBaseGui
}
else
{
dsp = this.ccc.cpuBytesAvail > 0 ? ( GuiText.Bytes.getLocal() + ": " + this.ccc.cpuBytesAvail + " : " + GuiText.CoProcessors.getLocal() + ": " + this.ccc.cpuCoProcessors ) : GuiText.Bytes.getLocal() + ": N/A : " + GuiText.CoProcessors.getLocal() + ": N/A";
dsp = this.ccc.getCpuAvailableBytes() > 0 ? ( GuiText.Bytes.getLocal() + ": " + this.ccc.getCpuAvailableBytes() + " : " + GuiText.CoProcessors.getLocal() + ": " + this.ccc.getCpuCoProcessors() ) : GuiText.Bytes.getLocal() + ": N/A : " + GuiText.CoProcessors.getLocal() + ": N/A";
}
final int offset = ( 219 - this.fontRendererObj.getStringWidth( dsp ) ) / 2;
@@ -229,7 +231,7 @@ public class GuiCraftConfirm extends AEBaseGui
int y = 0;
final int xo = 9;
final int yo = 22;
final int viewStart = this.myScrollBar.getCurrentScroll() * 3;
final int viewStart = this.getScrollBar().getCurrentScroll() * 3;
final int viewEnd = viewStart + 3 * this.rows;
String dspToolTip = "";
@@ -381,9 +383,7 @@ public class GuiCraftConfirm extends AEBaseGui
if( this.tooltip >= 0 && dspToolTip.length() > 0 )
{
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
this.drawTooltip( toolPosX, toolPosY + 10, 0, dspToolTip );
GL11.glPopAttrib();
}
}
@@ -399,8 +399,8 @@ public class GuiCraftConfirm extends AEBaseGui
{
final int size = this.visual.size();
this.myScrollBar.setTop( 19 ).setLeft( 218 ).setHeight( 114 );
this.myScrollBar.setRange( 0, ( size + 2 ) / 3 - this.rows, 1 );
this.getScrollBar().setTop( 19 ).setLeft( 218 ).setHeight( 114 );
this.getScrollBar().setRange( 0, ( size + 2 ) / 3 - this.rows, 1 );
}
public void postUpdate( final List<IAEItemStack> list, final byte ref )
@@ -556,7 +556,7 @@ public class GuiCraftConfirm extends AEBaseGui
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
@@ -573,7 +573,7 @@ public class GuiCraftConfirm extends AEBaseGui
}
catch( final Throwable e )
{
AELog.error( e );
AELog.debug( e );
}
}
}
@@ -103,7 +103,9 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
this.craftingCpu = container;
this.ySize = GUI_HEIGHT;
this.xSize = GUI_WIDTH;
this.myScrollBar = new GuiScrollbar();
final GuiScrollbar scrollbar = new GuiScrollbar();
this.setScrollBar( scrollbar );
}
public void clearItems()
@@ -127,7 +129,7 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
}
@@ -145,8 +147,8 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
{
final int size = this.visual.size();
this.myScrollBar.setTop( SCROLLBAR_TOP ).setLeft( SCROLLBAR_LEFT ).setHeight( SCROLLBAR_HEIGHT );
this.myScrollBar.setRange( 0, ( size + 2 ) / 3 - DISPLAYED_ROWS, 1 );
this.getScrollBar().setTop( SCROLLBAR_TOP ).setLeft( SCROLLBAR_LEFT ).setHeight( SCROLLBAR_HEIGHT );
this.getScrollBar().setRange( 0, ( size + 2 ) / 3 - DISPLAYED_ROWS, 1 );
}
@Override
@@ -193,9 +195,9 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
{
String title = this.getGuiDisplayName( GuiText.CraftingStatus.getLocal() );
if( this.craftingCpu.eta > 0 && !this.visual.isEmpty() )
if( this.craftingCpu.getEstimatedTime() > 0 && !this.visual.isEmpty() )
{
final long etaInMilliseconds = TimeUnit.MILLISECONDS.convert( this.craftingCpu.eta, TimeUnit.NANOSECONDS );
final long etaInMilliseconds = TimeUnit.MILLISECONDS.convert( this.craftingCpu.getEstimatedTime(), TimeUnit.NANOSECONDS );
final String etaTimeText = DurationFormatUtils.formatDuration( etaInMilliseconds, GuiText.ETAFormat.getLocal() );
title += " - " + etaTimeText;
}
@@ -204,7 +206,7 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
int x = 0;
int y = 0;
final int viewStart = this.myScrollBar.getCurrentScroll() * 3;
final int viewStart = this.getScrollBar().getCurrentScroll() * 3;
final int viewEnd = viewStart + 3 * 6;
String dspToolTip = "";
@@ -332,9 +334,7 @@ public class GuiCraftingCPU extends AEBaseGui implements ISortSource
if( this.tooltip >= 0 && dspToolTip.length() > 0 )
{
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
this.drawTooltip( toolPosX, toolPosY + 10, 0, dspToolTip );
GL11.glPopAttrib();
}
}
@@ -52,12 +52,12 @@ import appeng.parts.reporting.PartTerminal;
public class GuiCraftingStatus extends GuiCraftingCPU
{
final ContainerCraftingStatus status;
GuiButton selectCPU;
private final ContainerCraftingStatus status;
private GuiButton selectCPU;
GuiTabButton originalGuiBtn;
GuiBridge originalGui;
ItemStack myIcon = null;
private GuiTabButton originalGuiBtn;
private GuiBridge originalGui;
private ItemStack myIcon = null;
public GuiCraftingStatus( final InventoryPlayer inventoryPlayer, final ITerminalHost te )
{
@@ -121,7 +121,7 @@ public class GuiCraftingStatus extends GuiCraftingCPU
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
@@ -143,7 +143,7 @@ public class GuiCraftingStatus extends GuiCraftingCPU
if( this.myIcon != null )
{
this.buttonList.add( this.originalGuiBtn = new GuiTabButton( this.guiLeft + 213, this.guiTop - 4, this.myIcon, this.myIcon.getDisplayName(), itemRender ) );
this.originalGuiBtn.hideEdge = 13;
this.originalGuiBtn.setHideEdge( 13 );
}
}
@@ -39,12 +39,12 @@ import appeng.helpers.InventoryAction;
public class GuiCraftingTerm extends GuiMEMonitorable
{
GuiImgButton clearBtn;
private GuiImgButton clearBtn;
public GuiCraftingTerm( final InventoryPlayer inventoryPlayer, final ITerminalHost te )
{
super( inventoryPlayer, te, new ContainerCraftingTerm( inventoryPlayer, te ) );
this.reservedSpace = 73;
this.setReservedSpace( 73 );
}
@Override
@@ -77,14 +77,14 @@ public class GuiCraftingTerm extends GuiMEMonitorable
{
super.initGui();
this.buttonList.add( this.clearBtn = new GuiImgButton( this.guiLeft + 92, this.guiTop + this.ySize - 156, Settings.ACTIONS, ActionItems.STASH ) );
this.clearBtn.halfSize = true;
this.clearBtn.setHalfSize( true );
}
@Override
public void drawFG( final int offsetX, final int offsetY, final int mouseX, final int mouseY )
{
super.drawFG( offsetX, offsetY, mouseX, mouseY );
this.fontRendererObj.drawString( GuiText.CraftingTerminal.getLocal(), 8, this.ySize - 96 + 1 - this.reservedSpace, 4210752 );
this.fontRendererObj.drawString( GuiText.CraftingTerminal.getLocal(), 8, this.ySize - 96 + 1 - this.getReservedSpace(), 4210752 );
}
@Override
@@ -35,7 +35,7 @@ import appeng.tile.storage.TileDrive;
public class GuiDrive extends AEBaseGui
{
GuiTabButton priority;
private GuiTabButton priority;
public GuiDrive( final InventoryPlayer inventoryPlayer, final TileDrive te )
{
@@ -41,8 +41,8 @@ import appeng.parts.automation.PartFormationPlane;
public class GuiFormationPlane extends GuiUpgradeable
{
GuiTabButton priority;
GuiImgButton placeMode;
private GuiTabButton priority;
private GuiImgButton placeMode;
public GuiFormationPlane( final InventoryPlayer inventoryPlayer, final PartFormationPlane te )
{
@@ -70,12 +70,12 @@ public class GuiFormationPlane extends GuiUpgradeable
if( this.fuzzyMode != null )
{
this.fuzzyMode.set( this.cvb.fzMode );
this.fuzzyMode.set( this.cvb.getFuzzyMode() );
}
if( this.placeMode != null )
{
this.placeMode.set( ( (ContainerFormationPlane) this.cvb ).placeMode );
this.placeMode.set( ( (ContainerFormationPlane) this.cvb ).getPlaceMode() );
}
}
@@ -42,8 +42,8 @@ import appeng.tile.storage.TileIOPort;
public class GuiIOPort extends GuiUpgradeable
{
GuiImgButton fullMode;
GuiImgButton operationMode;
private GuiImgButton fullMode;
private GuiImgButton operationMode;
public GuiIOPort( final InventoryPlayer inventoryPlayer, final TileIOPort te )
{
@@ -71,17 +71,17 @@ public class GuiIOPort extends GuiUpgradeable
if( this.redstoneMode != null )
{
this.redstoneMode.set( this.cvb.rsMode );
this.redstoneMode.set( this.cvb.getRedStoneMode() );
}
if( this.operationMode != null )
{
this.operationMode.set( ( (ContainerIOPort) this.cvb ).opMode );
this.operationMode.set( ( (ContainerIOPort) this.cvb ).getOperationMode() );
}
if( this.fullMode != null )
{
this.fullMode.set( ( (ContainerIOPort) this.cvb ).fMode );
this.fullMode.set( ( (ContainerIOPort) this.cvb ).getFullMode() );
}
}
@@ -33,8 +33,8 @@ import appeng.tile.misc.TileInscriber;
public class GuiInscriber extends AEBaseGui
{
final ContainerInscriber cvc;
GuiProgressBar pb;
private final ContainerInscriber cvc;
private GuiProgressBar pb;
public GuiInscriber( final InventoryPlayer inventoryPlayer, final TileInscriber te )
{
@@ -44,7 +44,7 @@ public class GuiInscriber extends AEBaseGui
this.xSize = this.hasToolbox() ? 246 : 211;
}
protected boolean hasToolbox()
private boolean hasToolbox()
{
return ( (ContainerUpgradeable) this.inventorySlots ).hasToolbox();
}
@@ -86,7 +86,7 @@ public class GuiInscriber extends AEBaseGui
}
}
protected boolean drawUpgrades()
private boolean drawUpgrades()
{
return true;
}
@@ -41,9 +41,9 @@ import appeng.helpers.IInterfaceHost;
public class GuiInterface extends GuiUpgradeable
{
GuiTabButton priority;
GuiImgButton BlockMode;
GuiToggleButton interfaceMode;
private GuiTabButton priority;
private GuiImgButton BlockMode;
private GuiToggleButton interfaceMode;
public GuiInterface( final InventoryPlayer inventoryPlayer, final IInterfaceHost te )
{
@@ -69,12 +69,12 @@ public class GuiInterface extends GuiUpgradeable
{
if( this.BlockMode != null )
{
this.BlockMode.set( ( (ContainerInterface) this.cvb ).bMode );
this.BlockMode.set( ( (ContainerInterface) this.cvb ).getBlockingMode() );
}
if( this.interfaceMode != null )
{
this.interfaceMode.setState( ( (ContainerInterface) this.cvb ).iTermMode == YesNo.YES );
this.interfaceMode.setState( ( (ContainerInterface) this.cvb ).getInterfaceTerminalMode() == YesNo.YES );
}
this.fontRendererObj.drawString( this.getGuiDisplayName( GuiText.Interface.getLocal() ), 8, 6, 4210752 );
@@ -55,7 +55,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
private static final int LINES_ON_PAGE = 6;
// TODO: copied from GuiMEMonitorable. It looks not changed, maybe unneeded?
final int offsetX = 9;
private final int offsetX = 9;
private final HashMap<Long, ClientDCInternalInv> byId = new HashMap<Long, ClientDCInternalInv>();
private final HashMultimap<String, ClientDCInternalInv> byName = HashMultimap.create();
@@ -70,7 +70,9 @@ public class GuiInterfaceTerminal extends AEBaseGui
public GuiInterfaceTerminal( final InventoryPlayer inventoryPlayer, final PartInterfaceTerminal te )
{
super( new ContainerInterfaceTerminal( inventoryPlayer, te ) );
this.myScrollBar = new GuiScrollbar();
final GuiScrollbar scrollbar = new GuiScrollbar();
this.setScrollBar( scrollbar );
this.xSize = 195;
this.ySize = 222;
}
@@ -80,9 +82,9 @@ public class GuiInterfaceTerminal extends AEBaseGui
{
super.initGui();
this.myScrollBar.setLeft( 175 );
this.myScrollBar.setHeight( 106 );
this.myScrollBar.setTop( 18 );
this.getScrollBar().setLeft( 175 );
this.getScrollBar().setHeight( 106 );
this.getScrollBar().setTop( 18 );
this.searchField = new MEGuiTextField( this.fontRendererObj, this.guiLeft + Math.max( 104, this.offsetX ), this.guiTop + 4, 65, 12 );
this.searchField.setEnableBackgroundDrawing( false );
@@ -98,7 +100,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
this.fontRendererObj.drawString( this.getGuiDisplayName( GuiText.InterfaceTerminal.getLocal() ), 8, 6, 4210752 );
this.fontRendererObj.drawString( GuiText.inventory.getLocal(), 8, this.ySize - 96 + 3, 4210752 );
final int ex = this.myScrollBar.getCurrentScroll();
final int ex = this.getScrollBar().getCurrentScroll();
final Iterator<Object> o = this.inventorySlots.inventorySlots.iterator();
while( o.hasNext() )
@@ -116,7 +118,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
if( lineObj instanceof ClientDCInternalInv )
{
final ClientDCInternalInv inv = (ClientDCInternalInv) lineObj;
for( int z = 0; z < inv.inv.getSizeInventory(); z++ )
for( int z = 0; z < inv.getInventory().getSizeInventory(); z++ )
{
this.inventorySlots.inventorySlots.add( new SlotDisconnected( inv, z, z * 18 + 8, 1 + offset ) );
}
@@ -162,7 +164,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
this.drawTexturedModalRect( offsetX, offsetY, 0, 0, this.xSize, this.ySize );
int offset = 17;
final int ex = this.myScrollBar.getCurrentScroll();
final int ex = this.getScrollBar().getCurrentScroll();
for( int x = 0; x < LINES_ON_PAGE && ex + x < this.lines.size(); x++ )
{
@@ -172,7 +174,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
final ClientDCInternalInv inv = (ClientDCInternalInv) lineObj;
GL11.glColor4f( 1, 1, 1, 1 );
final int width = inv.inv.getSizeInventory() * 18;
final int width = inv.getInventory().getSizeInventory() * 18;
this.drawTexturedModalRect( offsetX + 7, offsetY + offset, 7, 139, width, 18 );
}
offset += 18;
@@ -224,12 +226,12 @@ public class GuiInterfaceTerminal extends AEBaseGui
final NBTTagCompound invData = in.getCompoundTag( key );
final ClientDCInternalInv current = this.getById( id, invData.getLong( "sortBy" ), invData.getString( "un" ) );
for( int x = 0; x < current.inv.getSizeInventory(); x++ )
for( int x = 0; x < current.getInventory().getSizeInventory(); x++ )
{
final String which = Integer.toString( x );
if( invData.hasKey( which ) )
{
current.inv.setInventorySlotContents( x, ItemStack.loadItemStackFromNBT( invData.getCompoundTag( which ) ) );
current.getInventory().setInventorySlotContents( x, ItemStack.loadItemStackFromNBT( invData.getCompoundTag( which ) ) );
}
}
}
@@ -276,7 +278,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
// Search if the current inventory holds a pattern containing the search term.
if( !found && !searchFilterLowerCase.isEmpty() )
{
for( final ItemStack itemStack : entry.inv )
for( final ItemStack itemStack : entry.getInventory() )
{
found = this.itemStackMatchesSearchTerm( itemStack, searchFilterLowerCase );
if( found )
@@ -317,7 +319,7 @@ public class GuiInterfaceTerminal extends AEBaseGui
this.lines.addAll( clientInventories );
}
this.myScrollBar.setRange( 0, this.lines.size() - LINES_ON_PAGE, 2 );
this.getScrollBar().setRange( 0, this.lines.size() - LINES_ON_PAGE, 2 );
}
private boolean itemStackMatchesSearchTerm( final ItemStack itemStack, final String searchTerm )
@@ -47,19 +47,19 @@ import appeng.parts.automation.PartLevelEmitter;
public class GuiLevelEmitter extends GuiUpgradeable
{
GuiNumberBox level;
private GuiNumberBox level;
GuiButton plus1;
GuiButton plus10;
GuiButton plus100;
GuiButton plus1000;
GuiButton minus1;
GuiButton minus10;
GuiButton minus100;
GuiButton minus1000;
private GuiButton plus1;
private GuiButton plus10;
private GuiButton plus100;
private GuiButton plus1000;
private GuiButton minus1;
private GuiButton minus10;
private GuiButton minus100;
private GuiButton minus1000;
GuiImgButton levelMode;
GuiImgButton craftingMode;
private GuiImgButton levelMode;
private GuiImgButton craftingMode;
public GuiLevelEmitter( final InventoryPlayer inventoryPlayer, final PartLevelEmitter te )
{
@@ -131,12 +131,12 @@ public class GuiLevelEmitter extends GuiUpgradeable
if( this.craftingMode != null )
{
this.craftingMode.set( ( (ContainerLevelEmitter) this.cvb ).cmType );
this.craftingMode.set( ( (ContainerLevelEmitter) this.cvb ).getCraftingMode() );
}
if( this.levelMode != null )
{
this.levelMode.set( ( (ContainerLevelEmitter) this.cvb ).lvType );
this.levelMode.set( ( (ContainerLevelEmitter) this.cvb ).getLevelMode() );
}
}
@@ -233,7 +233,7 @@ public class GuiLevelEmitter extends GuiUpgradeable
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
@@ -269,7 +269,7 @@ public class GuiLevelEmitter extends GuiUpgradeable
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
else
@@ -34,8 +34,8 @@ import appeng.tile.crafting.TileMolecularAssembler;
public class GuiMAC extends GuiUpgradeable
{
final ContainerMAC container;
GuiProgressBar pb;
private final ContainerMAC container;
private GuiProgressBar pb;
public GuiMAC( final InventoryPlayer inventoryPlayer, final TileMolecularAssembler te )
{
@@ -71,30 +71,31 @@ import appeng.util.Platform;
public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfigManagerHost
{
public static int CraftingGridOffsetX;
public static int CraftingGridOffsetY;
public static int craftingGridOffsetX;
public static int craftingGridOffsetY;
private static String memoryText = "";
final ItemRepo repo;
final int offsetX = 9;
final int lowerTextureOffset = 0;
final IConfigManager configSrc;
final boolean viewCell;
final ItemStack[] myCurrentViewCells = new ItemStack[5];
final ContainerMEMonitorable monitorableContainer;
GuiTabButton craftingStatusBtn;
MEGuiTextField searchField;
GuiText myName;
int perRow = 9;
int reservedSpace = 0;
boolean customSortOrder = true;
int rows = 0;
int maxRows = Integer.MAX_VALUE;
int standardSize;
GuiImgButton ViewBox;
GuiImgButton SortByBox;
GuiImgButton SortDirBox;
GuiImgButton searchBoxSettings;
GuiImgButton terminalStyleBox;
private final ItemRepo repo;
private final int offsetX = 9;
private final int lowerTextureOffset = 0;
private final IConfigManager configSrc;
private final boolean viewCell;
private final ItemStack[] myCurrentViewCells = new ItemStack[5];
private final ContainerMEMonitorable monitorableContainer;
private GuiTabButton craftingStatusBtn;
private MEGuiTextField searchField;
private GuiText myName;
private int perRow = 9;
private int reservedSpace = 0;
private boolean customSortOrder = true;
private int rows = 0;
private int maxRows = Integer.MAX_VALUE;
private int standardSize;
private GuiImgButton ViewBox;
private GuiImgButton SortByBox;
private GuiImgButton SortDirBox;
private GuiImgButton searchBoxSettings;
private GuiImgButton terminalStyleBox;
public GuiMEMonitorable( final InventoryPlayer inventoryPlayer, final ITerminalHost te )
{
@@ -105,8 +106,10 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
{
super( c );
this.myScrollBar = new GuiScrollbar();
this.repo = new ItemRepo( this.myScrollBar, this );
final GuiScrollbar scrollbar = new GuiScrollbar();
this.setScrollBar( scrollbar );
this.repo = new ItemRepo( scrollbar, this );
this.xSize = 185;
this.ySize = 204;
@@ -119,7 +122,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
this.standardSize = this.xSize;
this.configSrc = ( (IConfigurableObject) this.inventorySlots ).getConfigManager();
( this.monitorableContainer = (ContainerMEMonitorable) this.inventorySlots ).gui = this;
( this.monitorableContainer = (ContainerMEMonitorable) this.inventorySlots ).setGui( this );
this.viewCell = te instanceof IViewCellStorage;
@@ -158,8 +161,8 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
private void setScrollBar()
{
this.myScrollBar.setTop( 18 ).setLeft( 175 ).setHeight( this.rows * 18 - 2 );
this.myScrollBar.setRange( 0, ( this.repo.size() + this.perRow - 1 ) / this.perRow - this.rows, Math.max( 1, this.rows / 6 ) );
this.getScrollBar().setTop( 18 ).setLeft( 175 ).setHeight( this.rows * 18 - 2 );
this.getScrollBar().setRange( 0, ( this.repo.size() + this.perRow - 1 ) / this.perRow - this.rows, Math.max( 1, this.rows / 6 ) );
}
@Override
@@ -196,7 +199,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
@@ -204,13 +207,13 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
if( next.getClass() == SearchBoxMode.class || next.getClass() == TerminalStyle.class )
{
this.re_init();
this.reinitalize();
}
}
}
}
public void re_init()
private void reinitalize()
{
this.buttonList.clear();
this.initGui();
@@ -249,12 +252,12 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
this.rows = 3;
}
this.meSlots.clear();
this.getMeSlots().clear();
for( int y = 0; y < this.rows; y++ )
{
for( int x = 0; x < this.perRow; x++ )
{
this.meSlots.add( new InternalSlotME( this.repo, x + y * this.perRow, this.offsetX + x * 18, 18 + y * 18 ) );
this.getMeSlots().add( new InternalSlotME( this.repo, x + y * this.perRow, this.offsetX + x * 18, 18 + y * 18 ) );
}
}
@@ -311,7 +314,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
if( this.viewCell || this instanceof GuiWirelessTerm )
{
this.buttonList.add( this.craftingStatusBtn = new GuiTabButton( this.guiLeft + 170, this.guiTop - 4, 2 + 11 * 16, GuiText.CraftingStatus.getLocal(), itemRender ) );
this.craftingStatusBtn.hideEdge = 13;
this.craftingStatusBtn.setHideEdge( 13 );
}
// Enum setting = AEConfig.INSTANCE.getSetting( "Terminal", SearchBoxMode.class, SearchBoxMode.AUTOSEARCH );
@@ -321,13 +324,13 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
if( this.isSubGui() )
{
this.searchField.setText( memoryText );
this.repo.searchString = memoryText;
this.repo.setSearchString( memoryText );
this.repo.updateView();
this.setScrollBar();
}
CraftingGridOffsetX = Integer.MAX_VALUE;
CraftingGridOffsetY = Integer.MAX_VALUE;
craftingGridOffsetX = Integer.MAX_VALUE;
craftingGridOffsetY = Integer.MAX_VALUE;
for( final Object s : this.inventorySlots.inventorySlots )
{
@@ -344,14 +347,14 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
final Slot g = (Slot) s;
if( g.xDisplayPosition > 0 && g.yDisplayPosition > 0 )
{
CraftingGridOffsetX = Math.min( CraftingGridOffsetX, g.xDisplayPosition );
CraftingGridOffsetY = Math.min( CraftingGridOffsetY, g.yDisplayPosition );
craftingGridOffsetX = Math.min( craftingGridOffsetX, g.xDisplayPosition );
craftingGridOffsetY = Math.min( craftingGridOffsetY, g.yDisplayPosition );
}
}
}
CraftingGridOffsetX -= 25;
CraftingGridOffsetY -= 6;
craftingGridOffsetX -= 25;
craftingGridOffsetY -= 6;
}
@Override
@@ -374,7 +377,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
if( btn == 1 && this.searchField.isMouseIn( xCoord, yCoord ) )
{
this.searchField.setText( "" );
this.repo.searchString = "";
this.repo.setSearchString( "" );
this.repo.updateView();
this.setScrollBar();
}
@@ -416,10 +419,10 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
for( int i = 0; i < 5; i++ )
{
if( this.myCurrentViewCells[i] != this.monitorableContainer.cellView[i].getStack() )
if( this.myCurrentViewCells[i] != this.monitorableContainer.getCellViewSlot( i ).getStack() )
{
update = true;
this.myCurrentViewCells[i] = this.monitorableContainer.cellView[i].getStack();
this.myCurrentViewCells[i] = this.monitorableContainer.getCellViewSlot( i ).getStack();
}
}
@@ -453,7 +456,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
protected void repositionSlot( final AppEngSlot s )
{
s.yDisplayPosition = s.defY + this.ySize - 78 - 5;
s.yDisplayPosition = s.getY() + this.ySize - 78 - 5;
}
@Override
@@ -468,7 +471,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
if( this.searchField.textboxKeyTyped( character, key ) )
{
this.repo.searchString = this.searchField.getText();
this.repo.setSearchString( this.searchField.getText() );
this.repo.updateView();
this.setScrollBar();
}
@@ -482,7 +485,7 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
@Override
public void updateScreen()
{
this.repo.setPower( this.monitorableContainer.hasPower );
this.repo.setPower( this.monitorableContainer.isPowered() );
super.updateScreen();
}
@@ -524,4 +527,34 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
this.repo.updateView();
}
int getReservedSpace()
{
return this.reservedSpace;
}
void setReservedSpace( final int reservedSpace )
{
this.reservedSpace = reservedSpace;
}
public boolean isCustomSortOrder()
{
return this.customSortOrder;
}
void setCustomSortOrder( final boolean customSortOrder )
{
this.customSortOrder = customSortOrder;
}
public int getStandardSize()
{
return this.standardSize;
}
void setStandardSize( final int standardSize )
{
this.standardSize = standardSize;
}
}
@@ -50,19 +50,21 @@ import appeng.util.Platform;
public class GuiNetworkStatus extends AEBaseGui implements ISortSource
{
final ItemRepo repo;
final int rows = 4;
GuiImgButton units;
int tooltip = -1;
private final ItemRepo repo;
private final int rows = 4;
private GuiImgButton units;
private int tooltip = -1;
public GuiNetworkStatus( final InventoryPlayer inventoryPlayer, final INetworkTool te )
{
super( new ContainerNetworkStatus( inventoryPlayer, te ) );
final GuiScrollbar scrollbar = new GuiScrollbar();
this.setScrollBar( scrollbar );
this.repo = new ItemRepo( scrollbar, this );
this.ySize = 153;
this.xSize = 195;
this.myScrollBar = new GuiScrollbar();
this.repo = new ItemRepo( this.myScrollBar, this );
this.repo.rowSize = 5;
this.repo.setRowSize( 5 );
}
@Override
@@ -132,11 +134,11 @@ public class GuiNetworkStatus extends AEBaseGui implements ISortSource
this.fontRendererObj.drawString( GuiText.NetworkDetails.getLocal(), 8, 6, 4210752 );
this.fontRendererObj.drawString( GuiText.StoredPower.getLocal() + ": " + Platform.formatPowerLong( ns.currentPower, false ), 13, 16, 4210752 );
this.fontRendererObj.drawString( GuiText.MaxPower.getLocal() + ": " + Platform.formatPowerLong( ns.maxPower, false ), 13, 26, 4210752 );
this.fontRendererObj.drawString( GuiText.StoredPower.getLocal() + ": " + Platform.formatPowerLong( ns.getCurrentPower(), false ), 13, 16, 4210752 );
this.fontRendererObj.drawString( GuiText.MaxPower.getLocal() + ": " + Platform.formatPowerLong( ns.getMaxPower(), false ), 13, 26, 4210752 );
this.fontRendererObj.drawString( GuiText.PowerInputRate.getLocal() + ": " + Platform.formatPowerLong( ns.avgAddition, true ), 13, 143 - 10, 4210752 );
this.fontRendererObj.drawString( GuiText.PowerUsageRate.getLocal() + ": " + Platform.formatPowerLong( ns.powerUsage, true ), 13, 143 - 20, 4210752 );
this.fontRendererObj.drawString( GuiText.PowerInputRate.getLocal() + ": " + Platform.formatPowerLong( ns.getAverageAddition(), true ), 13, 143 - 10, 4210752 );
this.fontRendererObj.drawString( GuiText.PowerUsageRate.getLocal() + ": " + Platform.formatPowerLong( ns.getPowerUsage(), true ), 13, 143 - 20, 4210752 );
final int sectionLength = 30;
@@ -200,9 +202,7 @@ public class GuiNetworkStatus extends AEBaseGui implements ISortSource
if( this.tooltip >= 0 && toolTip.length() > 0 )
{
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
this.drawTooltip( toolPosX, toolPosY + 10, 0, toolTip );
GL11.glPopAttrib();
}
}
@@ -229,8 +229,8 @@ public class GuiNetworkStatus extends AEBaseGui implements ISortSource
private void setScrollBar()
{
final int size = this.repo.size();
this.myScrollBar.setTop( 39 ).setLeft( 175 ).setHeight( 78 );
this.myScrollBar.setRange( 0, ( size + 4 ) / 5 - this.rows, 1 );
this.getScrollBar().setTop( 39 ).setLeft( 175 ).setHeight( 78 );
this.getScrollBar().setRange( 0, ( size + 4 ) / 5 - this.rows, 1 );
}
// @Override - NEI
@@ -37,7 +37,7 @@ import appeng.core.sync.packets.PacketValueConfig;
public class GuiNetworkTool extends AEBaseGui
{
GuiToggleButton tFacades;
private GuiToggleButton tFacades;
public GuiNetworkTool( final InventoryPlayer inventoryPlayer, final INetworkTool te )
{
@@ -59,7 +59,7 @@ public class GuiNetworkTool extends AEBaseGui
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
@@ -78,7 +78,7 @@ public class GuiNetworkTool extends AEBaseGui
{
if( this.tFacades != null )
{
this.tFacades.setState( ( (ContainerNetworkTool) this.inventorySlots ).facadeMode );
this.tFacades.setState( ( (ContainerNetworkTool) this.inventorySlots ).isFacadeMode() );
}
this.fontRendererObj.drawString( this.getGuiDisplayName( GuiText.NetworkTool.getLocal() ), 8, 6, 4210752 );
@@ -27,6 +27,7 @@ import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import appeng.api.config.ActionItems;
import appeng.api.config.ItemSubstitution;
import appeng.api.config.Settings;
import appeng.api.storage.ITerminalHost;
import appeng.client.gui.widgets.GuiImgButton;
@@ -41,19 +42,26 @@ import appeng.core.sync.packets.PacketValueConfig;
public class GuiPatternTerm extends GuiMEMonitorable
{
final ContainerPatternTerm container;
private static final String SUBSITUTION_DISABLE = "0";
private static final String SUBSITUTION_ENABLE = "1";
GuiTabButton tabCraftButton;
GuiTabButton tabProcessButton;
// GuiImgButton substitutionsBtn;
GuiImgButton encodeBtn;
GuiImgButton clearBtn;
private static final String CRAFTMODE_CRFTING = "1";
private static final String CRAFTMODE_PROCESSING = "0";
private final ContainerPatternTerm container;
private GuiTabButton tabCraftButton;
private GuiTabButton tabProcessButton;
private GuiImgButton substitutionsEnabledBtn;
private GuiImgButton substitutionsDisabledBtn;
private GuiImgButton encodeBtn;
private GuiImgButton clearBtn;
public GuiPatternTerm( final InventoryPlayer inventoryPlayer, final ITerminalHost te )
{
super( inventoryPlayer, te, new ContainerPatternTerm( inventoryPlayer, te ) );
this.container = (ContainerPatternTerm) this.inventorySlots;
this.reservedSpace = 81;
this.setReservedSpace( 81 );
}
@Override
@@ -66,7 +74,7 @@ public class GuiPatternTerm extends GuiMEMonitorable
if( this.tabCraftButton == btn || this.tabProcessButton == btn )
{
NetworkHandler.instance.sendToServer( new PacketValueConfig( "PatternTerminal.CraftMode", this.tabProcessButton == btn ? "1" : "0" ) );
NetworkHandler.instance.sendToServer( new PacketValueConfig( "PatternTerminal.CraftMode", this.tabProcessButton == btn ? CRAFTMODE_CRFTING : CRAFTMODE_PROCESSING ) );
}
if( this.encodeBtn == btn )
@@ -78,40 +86,49 @@ public class GuiPatternTerm extends GuiMEMonitorable
{
NetworkHandler.instance.sendToServer( new PacketValueConfig( "PatternTerminal.Clear", "1" ) );
}
if( this.substitutionsEnabledBtn == btn || this.substitutionsDisabledBtn == btn )
{
NetworkHandler.instance.sendToServer( new PacketValueConfig( "PatternTerminal.Substitute", this.substitutionsEnabledBtn == btn ? SUBSITUTION_DISABLE : SUBSITUTION_ENABLE ) );
}
}
catch( final IOException e )
{
// TODO Auto-generated catch block
e.printStackTrace();
}
// if ( substitutionsBtn == btn )
// {
// }
}
@Override
public void initGui()
{
super.initGui();
this.buttonList.add( this.tabCraftButton = new GuiTabButton( this.guiLeft + 173, this.guiTop + this.ySize - 177, new ItemStack( Blocks.crafting_table ), GuiText.CraftingPattern.getLocal(), itemRender ) );
this.buttonList.add( this.tabProcessButton = new GuiTabButton( this.guiLeft + 173, this.guiTop + this.ySize - 177, new ItemStack( Blocks.furnace ), GuiText.ProcessingPattern.getLocal(), itemRender ) );
this.tabCraftButton = new GuiTabButton( this.guiLeft + 173, this.guiTop + this.ySize - 177, new ItemStack( Blocks.crafting_table ), GuiText.CraftingPattern.getLocal(), itemRender );
this.buttonList.add( this.tabCraftButton );
// buttonList.add( substitutionsBtn = new GuiImgButton( this.guiLeft + 84, this.guiTop + this.ySize - 163,
// Settings.ACTIONS, ActionItems.SUBSTITUTION ) );
// substitutionsBtn.halfSize = true;
this.tabProcessButton = new GuiTabButton( this.guiLeft + 173, this.guiTop + this.ySize - 177, new ItemStack( Blocks.furnace ), GuiText.ProcessingPattern.getLocal(), itemRender );
this.buttonList.add( this.tabProcessButton );
this.buttonList.add( this.clearBtn = new GuiImgButton( this.guiLeft + 74, this.guiTop + this.ySize - 163, Settings.ACTIONS, ActionItems.CLOSE ) );
this.clearBtn.halfSize = true;
this.substitutionsEnabledBtn = new GuiImgButton( this.guiLeft + 84, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.ENABLED );
this.substitutionsEnabledBtn.setHalfSize( true );
this.buttonList.add( this.substitutionsEnabledBtn );
this.buttonList.add( this.encodeBtn = new GuiImgButton( this.guiLeft + 147, this.guiTop + this.ySize - 142, Settings.ACTIONS, ActionItems.ENCODE ) );
this.substitutionsDisabledBtn = new GuiImgButton( this.guiLeft + 84, this.guiTop + this.ySize - 163, Settings.ACTIONS, ItemSubstitution.DISABLED );
this.substitutionsDisabledBtn.setHalfSize( true );
this.buttonList.add( this.substitutionsDisabledBtn );
this.clearBtn = new GuiImgButton( this.guiLeft + 74, this.guiTop + this.ySize - 163, Settings.ACTIONS, ActionItems.CLOSE );
this.clearBtn.setHalfSize( true );
this.buttonList.add( this.clearBtn );
this.encodeBtn = new GuiImgButton( this.guiLeft + 147, this.guiTop + this.ySize - 142, Settings.ACTIONS, ActionItems.ENCODE );
this.buttonList.add( this.encodeBtn );
}
@Override
public void drawFG( final int offsetX, final int offsetY, final int mouseX, final int mouseY )
{
if( !this.container.craftingMode )
if( !this.container.isCraftingMode() )
{
this.tabCraftButton.visible = false;
this.tabProcessButton.visible = true;
@@ -122,14 +139,25 @@ public class GuiPatternTerm extends GuiMEMonitorable
this.tabProcessButton.visible = false;
}
if( this.container.substitute )
{
this.substitutionsEnabledBtn.visible = true;
this.substitutionsDisabledBtn.visible = false;
}
else
{
this.substitutionsEnabledBtn.visible = false;
this.substitutionsDisabledBtn.visible = true;
}
super.drawFG( offsetX, offsetY, mouseX, mouseY );
this.fontRendererObj.drawString( GuiText.PatternTerminal.getLocal(), 8, this.ySize - 96 + 2 - this.reservedSpace, 4210752 );
this.fontRendererObj.drawString( GuiText.PatternTerminal.getLocal(), 8, this.ySize - 96 + 2 - this.getReservedSpace(), 4210752 );
}
@Override
protected String getBackground()
{
if( this.container.craftingMode )
if( this.container.isCraftingMode() )
{
return "guis/pattern.png";
}
@@ -141,11 +169,11 @@ public class GuiPatternTerm extends GuiMEMonitorable
{
if( s.isPlayerSide() )
{
s.yDisplayPosition = s.defY + this.ySize - 78 - 5;
s.yDisplayPosition = s.getY() + this.ySize - 78 - 5;
}
else
{
s.yDisplayPosition = s.defY + this.ySize - 78 - 3;
s.yDisplayPosition = s.getY() + this.ySize - 78 - 3;
}
}
}
@@ -53,19 +53,19 @@ import appeng.tile.storage.TileDrive;
public class GuiPriority extends AEBaseGui
{
GuiNumberBox priority;
GuiTabButton originalGuiBtn;
private GuiNumberBox priority;
private GuiTabButton originalGuiBtn;
GuiButton plus1;
GuiButton plus10;
GuiButton plus100;
GuiButton plus1000;
GuiButton minus1;
GuiButton minus10;
GuiButton minus100;
GuiButton minus1000;
private GuiButton plus1;
private GuiButton plus10;
private GuiButton plus100;
private GuiButton plus1000;
private GuiButton minus1;
private GuiButton minus10;
private GuiButton minus100;
private GuiButton minus1000;
GuiBridge OriginalGui;
private GuiBridge OriginalGui;
public GuiPriority( final InventoryPlayer inventoryPlayer, final IPriorityHost te )
{
@@ -240,7 +240,7 @@ public class GuiPriority extends AEBaseGui
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
@@ -276,7 +276,7 @@ public class GuiPriority extends AEBaseGui
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
else
@@ -36,7 +36,7 @@ import appeng.items.contents.QuartzKnifeObj;
public class GuiQuartzKnife extends AEBaseGui
{
GuiTextField name;
private GuiTextField name;
public GuiQuartzKnife( final InventoryPlayer inventoryPlayer, final QuartzKnifeObj te )
{
@@ -85,7 +85,7 @@ public class GuiQuartzKnife extends AEBaseGui
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
else
@@ -37,21 +37,21 @@ import appeng.core.sync.packets.PacketValueConfig;
public class GuiSecurity extends GuiMEMonitorable
{
GuiToggleButton inject;
GuiToggleButton extract;
GuiToggleButton craft;
GuiToggleButton build;
GuiToggleButton security;
private GuiToggleButton inject;
private GuiToggleButton extract;
private GuiToggleButton craft;
private GuiToggleButton build;
private GuiToggleButton security;
public GuiSecurity( final InventoryPlayer inventoryPlayer, final ITerminalHost te )
{
super( inventoryPlayer, te, new ContainerSecurity( inventoryPlayer, te ) );
this.customSortOrder = false;
this.reservedSpace = 33;
this.setCustomSortOrder( false );
this.setReservedSpace( 33 );
// increase size so that the slot is over the gui.
this.xSize += 56;
this.standardSize = this.xSize;
this.setStandardSize( this.xSize );
}
@Override
@@ -90,7 +90,7 @@ public class GuiSecurity extends GuiMEMonitorable
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
}
@@ -116,7 +116,7 @@ public class GuiSecurity extends GuiMEMonitorable
public void drawFG( final int offsetX, final int offsetY, final int mouseX, final int mouseY )
{
super.drawFG( offsetX, offsetY, mouseX, mouseY );
this.fontRendererObj.drawString( GuiText.SecurityCardEditor.getLocal(), 8, this.ySize - 96 + 1 - this.reservedSpace, 4210752 );
this.fontRendererObj.drawString( GuiText.SecurityCardEditor.getLocal(), 8, this.ySize - 96 + 1 - this.getReservedSpace(), 4210752 );
}
@Override
@@ -124,11 +124,11 @@ public class GuiSecurity extends GuiMEMonitorable
{
final ContainerSecurity cs = (ContainerSecurity) this.inventorySlots;
this.inject.setState( ( cs.security & ( 1 << SecurityPermissions.INJECT.ordinal() ) ) > 0 );
this.extract.setState( ( cs.security & ( 1 << SecurityPermissions.EXTRACT.ordinal() ) ) > 0 );
this.craft.setState( ( cs.security & ( 1 << SecurityPermissions.CRAFT.ordinal() ) ) > 0 );
this.build.setState( ( cs.security & ( 1 << SecurityPermissions.BUILD.ordinal() ) ) > 0 );
this.security.setState( ( cs.security & ( 1 << SecurityPermissions.SECURITY.ordinal() ) ) > 0 );
this.inject.setState( ( cs.getPermissionMode() & ( 1 << SecurityPermissions.INJECT.ordinal() ) ) > 0 );
this.extract.setState( ( cs.getPermissionMode() & ( 1 << SecurityPermissions.EXTRACT.ordinal() ) ) > 0 );
this.craft.setState( ( cs.getPermissionMode() & ( 1 << SecurityPermissions.CRAFT.ordinal() ) ) > 0 );
this.build.setState( ( cs.getPermissionMode() & ( 1 << SecurityPermissions.BUILD.ordinal() ) ) > 0 );
this.security.setState( ( cs.getPermissionMode() & ( 1 << SecurityPermissions.SECURITY.ordinal() ) ) > 0 );
return "guis/security.png";
}
@@ -37,8 +37,8 @@ import appeng.util.Platform;
public class GuiSpatialIOPort extends AEBaseGui
{
final ContainerSpatialIOPort container;
GuiImgButton units;
private final ContainerSpatialIOPort container;
private GuiImgButton units;
public GuiSpatialIOPort( final InventoryPlayer inventoryPlayer, final TileSpatialIOPort te )
{
@@ -73,10 +73,10 @@ public class GuiSpatialIOPort extends AEBaseGui
@Override
public void drawFG( final int offsetX, final int offsetY, final int mouseX, final int mouseY )
{
this.fontRendererObj.drawString( GuiText.StoredPower.getLocal() + ": " + Platform.formatPowerLong( this.container.currentPower, false ), 13, 21, 4210752 );
this.fontRendererObj.drawString( GuiText.MaxPower.getLocal() + ": " + Platform.formatPowerLong( this.container.maxPower, false ), 13, 31, 4210752 );
this.fontRendererObj.drawString( GuiText.RequiredPower.getLocal() + ": " + Platform.formatPowerLong( this.container.reqPower, false ), 13, 78, 4210752 );
this.fontRendererObj.drawString( GuiText.Efficiency.getLocal() + ": " + ( ( (float) this.container.eff ) / 100 ) + '%', 13, 88, 4210752 );
this.fontRendererObj.drawString( GuiText.StoredPower.getLocal() + ": " + Platform.formatPowerLong( this.container.getCurrentPower(), false ), 13, 21, 4210752 );
this.fontRendererObj.drawString( GuiText.MaxPower.getLocal() + ": " + Platform.formatPowerLong( this.container.getMaxPower(), false ), 13, 31, 4210752 );
this.fontRendererObj.drawString( GuiText.RequiredPower.getLocal() + ": " + Platform.formatPowerLong( this.container.getRequiredPower(), false ), 13, 78, 4210752 );
this.fontRendererObj.drawString( GuiText.Efficiency.getLocal() + ": " + ( ( (float) this.container.getEfficency() ) / 100 ) + '%', 13, 88, 4210752 );
this.fontRendererObj.drawString( this.getGuiDisplayName( GuiText.SpatialIOPort.getLocal() ), 8, 6, 4210752 );
this.fontRendererObj.drawString( GuiText.inventory.getLocal(), 8, this.ySize - 96, 4210752 );
@@ -47,11 +47,11 @@ import appeng.parts.misc.PartStorageBus;
public class GuiStorageBus extends GuiUpgradeable
{
GuiImgButton rwMode;
GuiImgButton storageFilter;
GuiTabButton priority;
GuiImgButton partition;
GuiImgButton clear;
private GuiImgButton rwMode;
private GuiImgButton storageFilter;
private GuiTabButton priority;
private GuiImgButton partition;
private GuiImgButton clear;
public GuiStorageBus( final InventoryPlayer inventoryPlayer, final PartStorageBus te )
{
@@ -85,17 +85,17 @@ public class GuiStorageBus extends GuiUpgradeable
if( this.fuzzyMode != null )
{
this.fuzzyMode.set( this.cvb.fzMode );
this.fuzzyMode.set( this.cvb.getFuzzyMode() );
}
if( this.storageFilter != null )
{
this.storageFilter.set( ( (ContainerStorageBus) this.cvb ).storageFilter );
this.storageFilter.set( ( (ContainerStorageBus) this.cvb ).getStorageFilter() );
}
if( this.rwMode != null )
{
this.rwMode.set( ( (ContainerStorageBus) this.cvb ).rwMode );
this.rwMode.set( ( (ContainerStorageBus) this.cvb ).getReadWriteMode() );
}
}
@@ -137,7 +137,7 @@ public class GuiStorageBus extends GuiUpgradeable
}
catch( final IOException e )
{
AELog.error( e );
AELog.debug( e );
}
}
}
@@ -44,13 +44,13 @@ import appeng.parts.automation.PartImportBus;
public class GuiUpgradeable extends AEBaseGui
{
final ContainerUpgradeable cvb;
final IUpgradeableHost bc;
protected final ContainerUpgradeable cvb;
protected final IUpgradeableHost bc;
GuiImgButton redstoneMode;
GuiImgButton fuzzyMode;
GuiImgButton craftMode;
GuiImgButton schedulingMode;
protected GuiImgButton redstoneMode;
protected GuiImgButton fuzzyMode;
protected GuiImgButton craftMode;
protected GuiImgButton schedulingMode;
public GuiUpgradeable( final InventoryPlayer inventoryPlayer, final IUpgradeableHost te )
{
@@ -100,22 +100,22 @@ public class GuiUpgradeable extends AEBaseGui
if( this.redstoneMode != null )
{
this.redstoneMode.set( this.cvb.rsMode );
this.redstoneMode.set( this.cvb.getRedStoneMode() );
}
if( this.fuzzyMode != null )
{
this.fuzzyMode.set( this.cvb.fzMode );
this.fuzzyMode.set( this.cvb.getFuzzyMode() );
}
if( this.craftMode != null )
{
this.craftMode.set( this.cvb.cMode );
this.craftMode.set( this.cvb.getCraftingMode() );
}
if( this.schedulingMode != null )
{
this.schedulingMode.set( this.cvb.schedulingMode );
this.schedulingMode.set( this.cvb.getSchedulingMode() );
}
}
@@ -34,8 +34,8 @@ import appeng.tile.misc.TileVibrationChamber;
public class GuiVibrationChamber extends AEBaseGui
{
final ContainerVibrationChamber cvc;
GuiProgressBar pb;
private final ContainerVibrationChamber cvc;
private GuiProgressBar pb;
public GuiVibrationChamber( final InventoryPlayer inventoryPlayer, final TileVibrationChamber te )
{
@@ -59,7 +59,7 @@ public class GuiVibrationChamber extends AEBaseGui
this.fontRendererObj.drawString( this.getGuiDisplayName( GuiText.VibrationChamber.getLocal() ), 8, 6, 4210752 );
this.fontRendererObj.drawString( GuiText.inventory.getLocal(), 8, this.ySize - 96 + 3, 4210752 );
this.pb.setFullMsg( this.cvc.aePerTick * this.cvc.getCurrentProgress() / 100 + " AE/t" );
this.pb.setFullMsg( this.cvc.getAePerTick() * this.cvc.getCurrentProgress() / 100 + " AE/t" );
if( this.cvc.getCurrentProgress() > 0 )
{
@@ -37,7 +37,7 @@ import appeng.util.Platform;
public class GuiWireless extends AEBaseGui
{
GuiImgButton units;
private GuiImgButton units;
public GuiWireless( final InventoryPlayer inventoryPlayer, final TileWireless te )
{
@@ -76,10 +76,10 @@ public class GuiWireless extends AEBaseGui
final ContainerWireless cw = (ContainerWireless) this.inventorySlots;
if( cw.range > 0 )
if( cw.getRange() > 0 )
{
final String firstMessage = GuiText.Range.getLocal() + ": " + ( cw.range / 10.0 ) + " m";
final String secondMessage = GuiText.PowerUsageRate.getLocal() + ": " + Platform.formatPowerLong( cw.drain, true );
final String firstMessage = GuiText.Range.getLocal() + ": " + ( cw.getRange() / 10.0 ) + " m";
final String secondMessage = GuiText.PowerUsageRate.getLocal() + ": " + Platform.formatPowerLong( cw.getDrain(), true );
final int strWidth = Math.max( this.fontRendererObj.getStringWidth( firstMessage ), this.fontRendererObj.getStringWidth( secondMessage ) );
final int cOffset = ( this.xSize / 2 ) - ( strWidth / 2 );
@@ -30,7 +30,6 @@ public class GuiWirelessTerm extends GuiMEPortableCell
public GuiWirelessTerm( final InventoryPlayer inventoryPlayer, final IPortableCell te )
{
super( inventoryPlayer, te );
this.maxRows = Integer.MAX_VALUE;
}
@Override
@@ -34,6 +34,7 @@ import appeng.api.config.ActionItems;
import appeng.api.config.CondenserOutput;
import appeng.api.config.FullnessMode;
import appeng.api.config.FuzzyMode;
import appeng.api.config.ItemSubstitution;
import appeng.api.config.LevelType;
import appeng.api.config.OperationMode;
import appeng.api.config.PowerUnits;
@@ -58,8 +59,8 @@ public class GuiImgButton extends GuiButton implements ITooltip
private static final Pattern PATTERN_NEW_LINE = Pattern.compile( "\\n", Pattern.LITERAL );
private static Map<EnumPair, ButtonAppearance> appearances;
private final Enum buttonSetting;
public boolean halfSize = false;
public String fillVar;
private boolean halfSize = false;
private String fillVar;
private Enum currentValue;
public GuiImgButton( final int x, final int y, final Enum idx, final Enum val )
@@ -129,7 +130,8 @@ public class GuiImgButton extends GuiButton implements ITooltip
this.registerApp( 6, Settings.ACTIONS, ActionItems.STASH, ButtonToolTips.Stash, ButtonToolTips.StashDesc );
this.registerApp( 8, Settings.ACTIONS, ActionItems.ENCODE, ButtonToolTips.Encode, ButtonToolTips.EncodeDescription );
this.registerApp( 4 + 3 * 16, Settings.ACTIONS, ActionItems.SUBSTITUTION, ButtonToolTips.Substitutions, ButtonToolTips.SubstitutionsDesc );
this.registerApp( 4 + 3 * 16, Settings.ACTIONS, ItemSubstitution.ENABLED, ButtonToolTips.Substitutions, ButtonToolTips.SubstitutionsDescEnabled );
this.registerApp( 7 + 3 * 16, Settings.ACTIONS, ItemSubstitution.DISABLED, ButtonToolTips.Substitutions, ButtonToolTips.SubstitutionsDescDisabled );
this.registerApp( 16, Settings.VIEW_MODE, ViewItems.STORED, ButtonToolTips.View, ButtonToolTips.StoredItems );
this.registerApp( 18, Settings.VIEW_MODE, ViewItems.ALL, ButtonToolTips.View, ButtonToolTips.StoredCraftable );
@@ -360,7 +362,27 @@ public class GuiImgButton extends GuiButton implements ITooltip
}
}
static class EnumPair
public boolean isHalfSize()
{
return this.halfSize;
}
public void setHalfSize( final boolean halfSize )
{
this.halfSize = halfSize;
}
public String getFillVar()
{
return this.fillVar;
}
public void setFillVar( final String fillVar )
{
this.fillVar = fillVar;
}
private static final class EnumPair
{
final Enum setting;
@@ -26,7 +26,7 @@ import net.minecraft.client.gui.GuiTextField;
public class GuiNumberBox extends GuiTextField
{
final Class type;
private final Class type;
public GuiNumberBox( final FontRenderer fontRenderer, final int x, final int y, final int width, final int height, final Class type )
{
@@ -53,7 +53,7 @@ public class GuiScrollbar implements IScrollSource
}
}
public int getRange()
private int getRange()
{
return this.maxScroll - this.minScroll;
}
@@ -36,7 +36,7 @@ public class GuiTabButton extends GuiButton implements ITooltip
{
private final RenderItem itemRenderer;
private final String message;
public int hideEdge = 0;
private int hideEdge = 0;
private int myIcon = -1;
private ItemStack myItem;
@@ -152,4 +152,14 @@ public class GuiTabButton extends GuiButton implements ITooltip
{
return this.visible;
}
public int getHideEdge()
{
return this.hideEdge;
}
public void setHideEdge( final int hideEdge )
{
this.hideEdge = hideEdge;
}
}
@@ -30,14 +30,15 @@ import appeng.util.ItemSorters;
public class ClientDCInternalInv implements Comparable<ClientDCInternalInv>
{
public final String unlocalizedName;
public final AppEngInternalInventory inv;
public final long id;
public final long sortBy;
private final String unlocalizedName;
private final AppEngInternalInventory inventory;
private final long id;
private final long sortBy;
public ClientDCInternalInv( final int size, final long id, final long sortBy, final String unlocalizedName )
{
this.inv = new AppEngInternalInventory( null, size );
this.inventory = new AppEngInternalInventory( null, size );
this.unlocalizedName = unlocalizedName;
this.id = id;
this.sortBy = sortBy;
@@ -58,4 +59,14 @@ public class ClientDCInternalInv implements Comparable<ClientDCInternalInv>
{
return ItemSorters.compareLong( this.sortBy, o.sortBy );
}
public AppEngInternalInventory getInventory()
{
return this.inventory;
}
public long getId()
{
return this.id;
}
}
@@ -27,9 +27,9 @@ import appeng.api.storage.data.IAEItemStack;
public class InternalSlotME
{
public final int offset;
public final int xPos;
public final int yPos;
private final int offset;
private final int xPos;
private final int yPos;
private final ItemRepo repo;
public InternalSlotME( final ItemRepo def, final int offset, final int displayX, final int displayY )
@@ -40,18 +40,28 @@ public class InternalSlotME
this.yPos = displayY;
}
public ItemStack getStack()
ItemStack getStack()
{
return this.repo.getItem( this.offset );
}
public IAEItemStack getAEStack()
IAEItemStack getAEStack()
{
return this.repo.getReferenceItem( this.offset );
}
public boolean hasPower()
boolean hasPower()
{
return this.repo.hasPower();
}
int getxPosition()
{
return this.xPos;
}
int getyPosition()
{
return this.yPos;
}
}
+26 -4
View File
@@ -25,6 +25,8 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.regex.Pattern;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.ReflectionHelper;
@@ -55,10 +57,10 @@ public class ItemRepo
private final IScrollSource src;
private final ISortSource sortSrc;
public int rowSize = 9;
private int rowSize = 9;
public String searchString = "";
IPartitionList<IAEItemStack> myPartitionList;
private String searchString = "";
private IPartitionList<IAEItemStack> myPartitionList;
private String innerSearch = "";
private String NEIWord = null;
private boolean hasPower;
@@ -218,7 +220,7 @@ public class ItemRepo
final Enum SortBy = this.sortSrc.getSortBy();
final Enum SortDir = this.sortSrc.getSortDir();
ItemSorters.Direction = (appeng.api.config.SortDir) SortDir;
ItemSorters.setDirection( (appeng.api.config.SortDir) SortDir );
ItemSorters.init();
if( SortBy == SortOrder.MOD )
@@ -287,4 +289,24 @@ public class ItemRepo
{
this.hasPower = hasPower;
}
public int getRowSize()
{
return this.rowSize;
}
public void setRowSize( final int rowSize )
{
this.rowSize = rowSize;
}
public String getSearchString()
{
return this.searchString;
}
public void setSearchString( @Nonnull final String searchString )
{
this.searchString = searchString;
}
}
@@ -31,11 +31,11 @@ import appeng.util.Platform;
public class SlotDisconnected extends AppEngSlot
{
public final ClientDCInternalInv mySlot;
private final ClientDCInternalInv mySlot;
public SlotDisconnected( final ClientDCInternalInv me, final int which, final int x, final int y )
{
super( me.inv, which, x, y );
super( me.getInventory(), which, x, y );
this.mySlot = me;
}
@@ -104,4 +104,9 @@ public class SlotDisconnected extends AppEngSlot
{
return false;
}
public ClientDCInternalInv getSlot()
{
return this.mySlot;
}
}
+2 -2
View File
@@ -30,11 +30,11 @@ import appeng.api.storage.data.IAEItemStack;
public class SlotME extends Slot
{
public final InternalSlotME mySlot;
private final InternalSlotME mySlot;
public SlotME( final InternalSlotME me )
{
super( null, 0, me.xPos, me.yPos );
super( null, 0, me.getxPosition(), me.getyPosition() );
this.mySlot = me;
}
@@ -19,6 +19,8 @@
package appeng.client.render;
import javax.annotation.Nonnull;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.gui.FontRenderer;
@@ -46,7 +48,7 @@ public class AppEngRenderItem extends RenderItem
private static final ISlimReadableNumberConverter SLIM_CONVERTER = ReadableNumberConverter.INSTANCE;
private static final IWideReadableNumberConverter WIDE_CONVERTER = ReadableNumberConverter.INSTANCE;
public IAEItemStack aeStack;
private IAEItemStack aeStack = null;
@Override
public void renderItemOverlayIntoGUI( final FontRenderer fontRenderer, final TextureManager textureManager, final ItemStack is, final int par4, final int par5, final String par6Str )
@@ -65,17 +67,21 @@ public class AppEngRenderItem extends RenderItem
final double health = is.getItem().getDurabilityForDisplay( is );
final int j1 = (int) Math.round( 13.0D - health * 13.0D );
final int k = (int) Math.round( 255.0D - health * 255.0D );
GL11.glDisable( GL11.GL_LIGHTING );
GL11.glDisable( GL11.GL_DEPTH_TEST );
GL11.glDisable( GL11.GL_TEXTURE_2D );
GL11.glDisable( GL11.GL_ALPHA_TEST );
GL11.glDisable( GL11.GL_BLEND );
final Tessellator tessellator = Tessellator.instance;
final int l = 255 - k << 16 | k << 8;
final int i1 = ( 255 - k ) / 4 << 16 | 16128;
this.renderQuad( tessellator, par4 + 2, par5 + 13, 13, 2, 0 );
this.renderQuad( tessellator, par4 + 2, par5 + 13, 12, 1, i1 );
this.renderQuad( tessellator, par4 + 2, par5 + 13, j1, 1, l );
GL11.glEnable( GL11.GL_ALPHA_TEST );
GL11.glEnable( GL11.GL_TEXTURE_2D );
GL11.glEnable( GL11.GL_LIGHTING );
@@ -86,19 +92,23 @@ public class AppEngRenderItem extends RenderItem
if( is.stackSize == 0 )
{
final String craftLabelText = AEConfig.instance.useTerminalUseLargeFont() ? GuiText.LargeFontCraft.getLocal() : GuiText.SmallFontCraft.getLocal();
GL11.glDisable( GL11.GL_LIGHTING );
GL11.glDisable( GL11.GL_DEPTH_TEST );
GL11.glPushMatrix();
GL11.glScaled( scaleFactor, scaleFactor, scaleFactor );
final int X = (int) ( ( (float) par4 + offset + 16.0f - fontRenderer.getStringWidth( craftLabelText ) * scaleFactor ) * inverseScaleFactor );
final int Y = (int) ( ( (float) par5 + offset + 16.0f - 7.0f * scaleFactor ) * inverseScaleFactor );
fontRenderer.drawStringWithShadow( craftLabelText, X, Y, 16777215 );
GL11.glPopMatrix();
GL11.glEnable( GL11.GL_LIGHTING );
GL11.glEnable( GL11.GL_DEPTH_TEST );
}
final long amount = this.aeStack != null ? this.aeStack.getStackSize() : is.stackSize;
if( amount != 0 )
{
final String stackSize = this.getToBeRenderedStackSize( amount );
@@ -107,9 +117,11 @@ public class AppEngRenderItem extends RenderItem
GL11.glDisable( GL11.GL_DEPTH_TEST );
GL11.glPushMatrix();
GL11.glScaled( scaleFactor, scaleFactor, scaleFactor );
final int X = (int) ( ( (float) par4 + offset + 16.0f - fontRenderer.getStringWidth( stackSize ) * scaleFactor ) * inverseScaleFactor );
final int Y = (int) ( ( (float) par5 + offset + 16.0f - 7.0f * scaleFactor ) * inverseScaleFactor );
fontRenderer.drawStringWithShadow( stackSize, X, Y, 16777215 );
GL11.glPopMatrix();
GL11.glEnable( GL11.GL_LIGHTING );
GL11.glEnable( GL11.GL_DEPTH_TEST );
@@ -141,4 +153,14 @@ public class AppEngRenderItem extends RenderItem
return WIDE_CONVERTER.toWideReadableForm( originalSize );
}
}
public IAEItemStack getAeStack()
{
return this.aeStack;
}
public void setAeStack( @Nonnull final IAEItemStack aeStack )
{
this.aeStack = aeStack;
}
}
@@ -76,7 +76,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
setOriMap();
}
public static void setOriMap()
private static void setOriMap()
{
// pointed up...
ORIENTATION_MAP[0][3][1] = 0;
@@ -275,7 +275,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
return ( r << 16 ) | ( g << 8 ) | b;
}
public double getTesrRenderDistance()
double getTesrRenderDistance()
{
return this.renderDistance;
}
@@ -283,8 +283,8 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
public void renderInventory( final B block, final ItemStack item, final RenderBlocks renderer, final ItemRenderType type, final Object[] data )
{
final Tessellator tess = Tessellator.instance;
final BlockRenderInfo info = block.getRendererInstance();
if( info.isValid() )
{
if( block.hasSubtypes() )
@@ -312,7 +312,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
renderer.uvRotateBottom = renderer.uvRotateEast = renderer.uvRotateNorth = renderer.uvRotateSouth = renderer.uvRotateTop = renderer.uvRotateWest = 0;
}
public static int getOrientation( final ForgeDirection in, final ForgeDirection forward, final ForgeDirection up )
static int getOrientation( final ForgeDirection in, final ForgeDirection forward, final ForgeDirection up )
{
if( in == null || in == ForgeDirection.UNKNOWN // 1
|| forward == null || forward == ForgeDirection.UNKNOWN // 2
@@ -330,8 +330,14 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
public void renderInvBlock( final EnumSet<ForgeDirection> sides, final B block, final ItemStack item, final Tessellator tess, final int color, final RenderBlocks renderer )
{
if( block == null )
{
return;
}
int meta = 0;
if( block != null && block.hasSubtypes() && item != null )
if( block.hasSubtypes() && item != null )
{
meta = item.getItemDamage();
}
@@ -391,7 +397,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
}
}
public IIcon firstNotNull( final IIcon... s )
private IIcon firstNotNull( final IIcon... s )
{
for( final IIcon o : s )
{
@@ -400,6 +406,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
return o;
}
}
return ExtraBlockTextures.getMissing();
}
@@ -410,6 +417,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
final boolean o = renderer.renderStandardBlock( block, x, y, z );
this.postRenderInWorld( renderer );
return o;
}
@@ -418,6 +426,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
final BlockRenderInfo info = block.getRendererInstance();
final IOrientable te = this.getOrientable( block, world, x, y, z );
if( te != null )
{
final ForgeDirection forward = te.getForward();
@@ -450,13 +459,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
renderer.setRenderBounds( i / 16.0, j / 16.0, k / 16.0, l / 16.0, m / 16.0, n / 16.0 );
}
protected void renderBlockBounds( final RenderBlocks renderer,
double minX, double minY, double minZ,
double maxX, double maxY, double maxZ,
final ForgeDirection x, final ForgeDirection y, final ForgeDirection z )
protected void renderBlockBounds( final RenderBlocks renderer, double minX, double minY, double minZ, double maxX, double maxY, double maxZ, final ForgeDirection x, final ForgeDirection y, final ForgeDirection z )
{
minX /= 16.0;
minY /= 16.0;
@@ -763,6 +766,7 @@ public class BaseBlockRender<B extends AEBaseBlock, T extends AEBaseTile>
if( itemstack != null )
{
final EntityItem entityitem = new EntityItem( par1EntityItemFrame.getWorldObj(), 0.0D, 0.0D, 0.0D, itemstack );
entityitem.getEntityItem().stackSize = 1;
// set all this stuff and then do shit? meh?
@@ -22,14 +22,16 @@ package appeng.client.render;
import net.minecraft.util.IIcon;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.block.AEBaseBlock;
import appeng.client.texture.FlippableIcon;
import appeng.client.texture.TmpFlippableIcon;
import appeng.tile.AEBaseTile;
public class BlockRenderInfo
{
public final BaseBlockRender rendererInstance;
private final BaseBlockRender<? extends AEBaseBlock, ? extends AEBaseTile> rendererInstance;
private final TmpFlippableIcon tmpTopIcon = new TmpFlippableIcon();
private final TmpFlippableIcon tmpBottomIcon = new TmpFlippableIcon();
private final TmpFlippableIcon tmpSouthIcon = new TmpFlippableIcon();
@@ -44,7 +46,7 @@ public class BlockRenderInfo
private FlippableIcon eastIcon = null;
private FlippableIcon westIcon = null;
public BlockRenderInfo( final BaseBlockRender inst )
public BlockRenderInfo( final BaseBlockRender<? extends AEBaseBlock, ? extends AEBaseTile> inst )
{
this.rendererInstance = inst;
}
@@ -132,8 +134,13 @@ public class BlockRenderInfo
return this.topIcon;
}
public boolean isValid()
boolean isValid()
{
return this.topIcon != null && this.bottomIcon != null && this.southIcon != null && this.northIcon != null && this.eastIcon != null && this.westIcon != null;
}
public BaseBlockRender getRendererInstance()
{
return this.rendererInstance;
}
}
@@ -56,7 +56,7 @@ public final class BusRenderHelper implements IPartRenderHelper
private final BoundBoxCalculator bbc;
private final boolean noAlphaPass;
private final BaseBlockRender bbr;
private final BaseBlockRender<AEBaseBlock, AEBaseTile> bbr;
private final Optional<Block> maybeBlock;
private final Optional<AEBaseBlock> maybeBaseBlock;
private int renderingForPass;
@@ -253,7 +253,7 @@ public final class BusRenderHelper implements IPartRenderHelper
this.renderingForPass = pass;
}
public boolean renderThis()
private boolean renderThis()
{
if( this.renderingForPass == this.currentPass || this.noAlphaPass )
{
@@ -266,23 +266,23 @@ public final class BusRenderHelper implements IPartRenderHelper
@Override
public void normalRendering()
{
final RenderBlocksWorkaround rbw = BusRenderer.INSTANCE.renderer;
rbw.calculations = true;
rbw.useTextures = true;
final RenderBlocksWorkaround rbw = BusRenderer.INSTANCE.getRenderer();
rbw.setCalculations( true );
rbw.setUseTextures( true );
rbw.enableAO = false;
}
@Override
public ISimplifiedBundle useSimplifiedRendering( final int x, final int y, final int z, final IBoxProvider p, final ISimplifiedBundle sim )
{
final RenderBlocksWorkaround rbw = BusRenderer.INSTANCE.renderer;
final RenderBlocksWorkaround rbw = BusRenderer.INSTANCE.getRenderer();
if( sim != null && this.maybeBlock.isPresent() && rbw.similarLighting( this.maybeBlock.get(), rbw.blockAccess, x, y, z, sim ) )
{
rbw.populate( sim );
rbw.faces = EnumSet.allOf( ForgeDirection.class );
rbw.calculations = false;
rbw.useTextures = false;
rbw.setFaces( EnumSet.allOf( ForgeDirection.class ) );
rbw.setCalculations( false );
rbw.setUseTextures( false );
return sim;
}
@@ -290,8 +290,8 @@ public final class BusRenderHelper implements IPartRenderHelper
{
final boolean allFaces = rbw.renderAllFaces;
rbw.renderAllFaces = true;
rbw.calculations = true;
rbw.faces.clear();
rbw.setCalculations( true );
rbw.getFaces().clear();
this.bbc.started = false;
if( p == null )
@@ -339,10 +339,10 @@ public final class BusRenderHelper implements IPartRenderHelper
rbw.renderStandardBlock( block, x, y, z );
}
rbw.faces = EnumSet.allOf( ForgeDirection.class );
rbw.setFaces( EnumSet.allOf( ForgeDirection.class ) );
rbw.renderAllFaces = allFaces;
rbw.calculations = false;
rbw.useTextures = false;
rbw.setCalculations( false );
rbw.setUseTextures( false );
return rbw.getLightingCache();
}
@@ -392,7 +392,7 @@ public final class BusRenderHelper implements IPartRenderHelper
}
}
public ForgeDirection mapRotation( final ForgeDirection dir )
private ForgeDirection mapRotation( final ForgeDirection dir )
{
final ForgeDirection forward = this.az;
final ForgeDirection up = this.ay;
@@ -518,7 +518,7 @@ public final class BusRenderHelper implements IPartRenderHelper
@Override
public void setFacesToRender( final EnumSet<ForgeDirection> faces )
{
BusRenderer.INSTANCE.renderer.renderFaces = faces;
BusRenderer.INSTANCE.getRenderer().setRenderFaces( faces );
}
@Override
@@ -51,7 +51,7 @@ public class BusRenderer implements IItemRenderer
public static final BusRenderer INSTANCE = new BusRenderer();
private static final Map<Integer, IPart> RENDER_PART = new HashMap<Integer, IPart>();
public final RenderBlocksWorkaround renderer = new RenderBlocksWorkaround();
private final RenderBlocksWorkaround renderer = new RenderBlocksWorkaround();
@Override
public boolean handleRenderType( final ItemStack item, final ItemRenderType type )
@@ -74,7 +74,7 @@ public class BusRenderer implements IItemRenderer
}
GL11.glPushMatrix();
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
GL11.glPushAttrib( GL11.GL_ENABLE_BIT | GL11.GL_COLOR_BUFFER_BIT );
GL11.glEnable( GL11.GL_DEPTH_TEST );
GL11.glEnable( GL11.GL_TEXTURE_2D );
GL11.glEnable( GL11.GL_LIGHTING );
@@ -120,13 +120,13 @@ public class BusRenderer implements IItemRenderer
BusRenderHelper.INSTANCE.setBounds( 0, 0, 0, 1, 1, 1 );
BusRenderHelper.INSTANCE.setTexture( null );
BusRenderHelper.INSTANCE.setInvColor( 0xffffff );
this.renderer.blockAccess = ClientHelper.proxy.getWorld();
this.getRenderer().blockAccess = ClientHelper.proxy.getWorld();
BusRenderHelper.INSTANCE.setOrientation( ForgeDirection.EAST, ForgeDirection.UP, ForgeDirection.SOUTH );
this.renderer.uvRotateBottom = this.renderer.uvRotateEast = this.renderer.uvRotateNorth = this.renderer.uvRotateSouth = this.renderer.uvRotateTop = this.renderer.uvRotateWest = 0;
this.renderer.useInventoryTint = false;
this.renderer.overrideBlockTexture = null;
this.getRenderer().uvRotateBottom = this.getRenderer().uvRotateEast = this.getRenderer().uvRotateNorth = this.getRenderer().uvRotateSouth = this.getRenderer().uvRotateTop = this.getRenderer().uvRotateWest = 0;
this.getRenderer().useInventoryTint = false;
this.getRenderer().overrideBlockTexture = null;
if( item.getItem() instanceof IFacadeItem )
{
@@ -141,12 +141,13 @@ public class BusRenderer implements IItemRenderer
if( fp != null )
{
fp.renderInventory( BusRenderHelper.INSTANCE, this.renderer );
fp.renderInventory( BusRenderHelper.INSTANCE, this.getRenderer() );
}
}
else
{
final IPart ip = this.getRenderer( item, (IPartItem) item.getItem() );
if( ip != null )
{
if( type == ItemRenderType.ENTITY )
@@ -155,22 +156,23 @@ public class BusRenderer implements IItemRenderer
GL11.glTranslatef( 0.0f, 0.0f, -0.04f * ( 8 - depth ) - 0.06f );
}
ip.renderInventory( BusRenderHelper.INSTANCE, this.renderer );
ip.renderInventory( BusRenderHelper.INSTANCE, this.getRenderer() );
}
}
this.renderer.uvRotateBottom = this.renderer.uvRotateEast = this.renderer.uvRotateNorth = this.renderer.uvRotateSouth = this.renderer.uvRotateTop = this.renderer.uvRotateWest = 0;
this.getRenderer().uvRotateBottom = this.getRenderer().uvRotateEast = this.getRenderer().uvRotateNorth = this.getRenderer().uvRotateSouth = this.getRenderer().uvRotateTop = this.getRenderer().uvRotateWest = 0;
GL11.glPopAttrib();
GL11.glPopMatrix();
}
@Nullable
public IPart getRenderer( final ItemStack is, final IPartItem c )
private IPart getRenderer( final ItemStack is, final IPartItem c )
{
final int id = ( Item.getIdFromItem( is.getItem() ) << Platform.DEF_OFFSET ) | is.getItemDamage();
IPart part = RENDER_PART.get( id );
if( part == null )
{
part = c.createPartFromItemStack( is );
@@ -182,4 +184,9 @@ public class BusRenderer implements IItemRenderer
return part;
}
public RenderBlocksWorkaround getRenderer()
{
return this.renderer;
}
}
@@ -48,7 +48,7 @@ public class CableRenderHelper
public void renderStatic( final CableBusContainer cableBusContainer, final IFacadeContainer iFacadeContainer )
{
final TileEntity te = cableBusContainer.getTile();
final RenderBlocksWorkaround renderer = BusRenderer.INSTANCE.renderer;
final RenderBlocksWorkaround renderer = BusRenderer.INSTANCE.getRenderer();
if( renderer.overrideBlockTexture != null )
{
@@ -73,9 +73,9 @@ public class CableRenderHelper
part.renderStatic( te.xCoord, te.yCoord, te.zCoord, BusRenderHelper.INSTANCE, renderer );
renderer.faces = EnumSet.allOf( ForgeDirection.class );
renderer.calculations = true;
renderer.useTextures = true;
renderer.setFaces( EnumSet.allOf( ForgeDirection.class ) );
renderer.setCalculations( true );
renderer.setUseTextures( true );
}
}
@@ -85,6 +85,7 @@ public class CableRenderHelper
* snag list of boxes...
*/
final List<AxisAlignedBB> boxes = new ArrayList<AxisAlignedBB>();
for( final ForgeDirection s : ForgeDirection.values() )
{
final IPart part = cableBusContainer.getPart( s );
@@ -120,6 +121,7 @@ public class CableRenderHelper
for( final ForgeDirection s : ForgeDirection.VALID_DIRECTIONS )
{
final IFacadePart fPart = iFacadeContainer.getFacade( s );
if( fPart != null )
{
fPart.setThinFacades( useThinFacades );
@@ -153,10 +155,10 @@ public class CableRenderHelper
}
}
renderer.isFacade = false;
renderer.setFacade( false );
renderer.enableAO = false;
renderer.setTexture( null );
renderer.calculations = true;
renderer.setCalculations( true );
}
}
@@ -214,6 +216,7 @@ public class CableRenderHelper
for( final ForgeDirection s : ForgeDirection.values() )
{
final IPart part = cableBusContainer.getPart( s );
if( part != null )
{
final ForgeDirection ax;
@@ -261,7 +264,7 @@ public class CableRenderHelper
}
BusRenderHelper.INSTANCE.setOrientation( ax, ay, az );
part.renderDynamic( x, y, z, BusRenderHelper.INSTANCE, BusRenderer.INSTANCE.renderer );
part.renderDynamic( x, y, z, BusRenderHelper.INSTANCE, BusRenderer.INSTANCE.getRenderer() );
}
}
}
@@ -46,7 +46,7 @@ public class ItemRenderer implements IItemRenderer
public void renderItem( final ItemRenderType type, final ItemStack item, final Object... data )
{
GL11.glPushMatrix();
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
GL11.glPushAttrib( GL11.GL_ENABLE_BIT | GL11.GL_COLOR_BUFFER_BIT );
GL11.glEnable( GL11.GL_ALPHA_TEST );
GL11.glEnable( GL11.GL_DEPTH_TEST );
GL11.glEnable( GL11.GL_BLEND );
@@ -22,6 +22,7 @@ package appeng.client.render;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.Set;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
@@ -41,18 +42,18 @@ import appeng.core.AELog;
public class RenderBlocksWorkaround extends RenderBlocks
{
final int[] lightHashTmp = new int[27];
public boolean calculations = true;
public EnumSet<ForgeDirection> renderFaces = EnumSet.allOf( ForgeDirection.class );
public EnumSet<ForgeDirection> faces = EnumSet.allOf( ForgeDirection.class );
public boolean isFacade = false;
public boolean useTextures = true;
public float opacity = 1.0f;
Field fBrightness;
Field fColor;
private final int[] lightHashTmp = new int[27];
private boolean calculations = true;
private EnumSet<ForgeDirection> renderFaces = EnumSet.allOf( ForgeDirection.class );
private EnumSet<ForgeDirection> faces = EnumSet.allOf( ForgeDirection.class );
private boolean isFacade = false;
private boolean useTextures = true;
private float opacity = 1.0f;
private Field fBrightness = null;
private Field fColor = null;
private LightingCache lightState = new LightingCache();
public int getCurrentColor()
private int getCurrentColor()
{
try
{
@@ -76,7 +77,7 @@ public class RenderBlocksWorkaround extends RenderBlocks
}
}
public int getCurrentBrightness()
private int getCurrentBrightness()
{
try
{
@@ -100,7 +101,7 @@ public class RenderBlocksWorkaround extends RenderBlocks
}
}
public void setTexture( final IIcon ico )
void setTexture( final IIcon ico )
{
this.lightState.rXPos = this.lightState.rXNeg = this.lightState.rYPos = this.lightState.rYNeg = this.lightState.rZPos = this.lightState.rZNeg = ico;
}
@@ -115,31 +116,31 @@ public class RenderBlocksWorkaround extends RenderBlocks
this.lightState.rZNeg = rZNeg;
}
public boolean renderStandardBlockNoCalculations( final Block b, final int x, final int y, final int z )
private boolean renderStandardBlockNoCalculations( final Block b, final int x, final int y, final int z )
{
Tessellator.instance.setBrightness( this.lightState.bXPos );
this.restoreAO( this.lightState.aoXPos, this.lightState.foXPos );
this.renderFaceXPos( b, x, y, z, this.useTextures ? this.lightState.rXPos : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.EAST.ordinal() ) );
this.renderFaceXPos( b, x, y, z, this.isUseTextures() ? this.lightState.rXPos : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.EAST.ordinal() ) );
Tessellator.instance.setBrightness( this.lightState.bXNeg );
this.restoreAO( this.lightState.aoXNeg, this.lightState.foXNeg );
this.renderFaceXNeg( b, x, y, z, this.useTextures ? this.lightState.rXNeg : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.WEST.ordinal() ) );
this.renderFaceXNeg( b, x, y, z, this.isUseTextures() ? this.lightState.rXNeg : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.WEST.ordinal() ) );
Tessellator.instance.setBrightness( this.lightState.bYPos );
this.restoreAO( this.lightState.aoYPos, this.lightState.foYPos );
this.renderFaceYPos( b, x, y, z, this.useTextures ? this.lightState.rYPos : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.UP.ordinal() ) );
this.renderFaceYPos( b, x, y, z, this.isUseTextures() ? this.lightState.rYPos : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.UP.ordinal() ) );
Tessellator.instance.setBrightness( this.lightState.bYNeg );
this.restoreAO( this.lightState.aoYNeg, this.lightState.foYNeg );
this.renderFaceYNeg( b, x, y, z, this.useTextures ? this.lightState.rYNeg : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.DOWN.ordinal() ) );
this.renderFaceYNeg( b, x, y, z, this.isUseTextures() ? this.lightState.rYNeg : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.DOWN.ordinal() ) );
Tessellator.instance.setBrightness( this.lightState.bZPos );
this.restoreAO( this.lightState.aoZPos, this.lightState.foZPos );
this.renderFaceZPos( b, x, y, z, this.useTextures ? this.lightState.rZPos : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.SOUTH.ordinal() ) );
this.renderFaceZPos( b, x, y, z, this.isUseTextures() ? this.lightState.rZPos : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.SOUTH.ordinal() ) );
Tessellator.instance.setBrightness( this.lightState.bZNeg );
this.restoreAO( this.lightState.aoZNeg, this.lightState.foZNeg );
this.renderFaceZNeg( b, x, y, z, this.useTextures ? this.lightState.rZNeg : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.NORTH.ordinal() ) );
this.renderFaceZNeg( b, x, y, z, this.isUseTextures() ? this.lightState.rZNeg : this.getBlockIcon( b, this.blockAccess, x, y, z, ForgeDirection.NORTH.ordinal() ) );
return true;
}
@@ -150,7 +151,7 @@ public class RenderBlocksWorkaround extends RenderBlocks
this.brightnessBottomRight = z[1];
this.brightnessTopLeft = z[2];
this.brightnessTopRight = z[3];
Tessellator.instance.setColorRGBA_I( z[4], (int) ( this.opacity * 255 ) );
Tessellator.instance.setColorRGBA_I( z[4], (int) ( this.getOpacity() * 255 ) );
this.colorRedTopLeft = c[0];
this.colorGreenTopLeft = c[1];
@@ -193,7 +194,7 @@ public class RenderBlocksWorkaround extends RenderBlocks
{
try
{
if( this.calculations )
if( this.isCalculations() )
{
this.lightState.lightHash = this.getLightingHash( blk, this.blockAccess, x, y, z );
return super.renderStandardBlock( blk, x, y, z );
@@ -208,7 +209,7 @@ public class RenderBlocksWorkaround extends RenderBlocks
}
catch( final Throwable t )
{
AELog.error( t );
AELog.debug( t );
// meh
}
return false;
@@ -217,14 +218,14 @@ public class RenderBlocksWorkaround extends RenderBlocks
@Override
public void renderFaceYNeg( final Block par1Block, final double par2, final double par4, final double par6, final IIcon par8Icon )
{
if( this.faces.contains( ForgeDirection.DOWN ) )
if( this.getFaces().contains( ForgeDirection.DOWN ) )
{
if( !this.renderFaces.contains( ForgeDirection.DOWN ) )
if( !this.getRenderFaces().contains( ForgeDirection.DOWN ) )
{
return;
}
if( this.isFacade )
if( this.isFacade() )
{
final Tessellator tessellator = Tessellator.instance;
@@ -275,14 +276,14 @@ public class RenderBlocksWorkaround extends RenderBlocks
@Override
public void renderFaceYPos( final Block par1Block, final double par2, final double par4, final double par6, final IIcon par8Icon )
{
if( this.faces.contains( ForgeDirection.UP ) )
if( this.getFaces().contains( ForgeDirection.UP ) )
{
if( !this.renderFaces.contains( ForgeDirection.UP ) )
if( !this.getRenderFaces().contains( ForgeDirection.UP ) )
{
return;
}
if( this.isFacade )
if( this.isFacade() )
{
final Tessellator tessellator = Tessellator.instance;
@@ -333,14 +334,14 @@ public class RenderBlocksWorkaround extends RenderBlocks
@Override
public void renderFaceZNeg( final Block par1Block, final double par2, final double par4, final double par6, final IIcon par8Icon )
{
if( this.faces.contains( ForgeDirection.NORTH ) )
if( this.getFaces().contains( ForgeDirection.NORTH ) )
{
if( !this.renderFaces.contains( ForgeDirection.NORTH ) )
if( !this.getRenderFaces().contains( ForgeDirection.NORTH ) )
{
return;
}
if( this.isFacade )
if( this.isFacade() )
{
final Tessellator tessellator = Tessellator.instance;
@@ -391,14 +392,14 @@ public class RenderBlocksWorkaround extends RenderBlocks
@Override
public void renderFaceZPos( final Block par1Block, final double par2, final double par4, final double par6, final IIcon par8Icon )
{
if( this.faces.contains( ForgeDirection.SOUTH ) )
if( this.getFaces().contains( ForgeDirection.SOUTH ) )
{
if( !this.renderFaces.contains( ForgeDirection.SOUTH ) )
if( !this.getRenderFaces().contains( ForgeDirection.SOUTH ) )
{
return;
}
if( this.isFacade )
if( this.isFacade() )
{
final Tessellator tessellator = Tessellator.instance;
@@ -449,14 +450,14 @@ public class RenderBlocksWorkaround extends RenderBlocks
@Override
public void renderFaceXNeg( final Block par1Block, final double par2, final double par4, final double par6, final IIcon par8Icon )
{
if( this.faces.contains( ForgeDirection.WEST ) )
if( this.getFaces().contains( ForgeDirection.WEST ) )
{
if( !this.renderFaces.contains( ForgeDirection.WEST ) )
if( !this.getRenderFaces().contains( ForgeDirection.WEST ) )
{
return;
}
if( this.isFacade )
if( this.isFacade() )
{
final Tessellator tessellator = Tessellator.instance;
@@ -507,14 +508,14 @@ public class RenderBlocksWorkaround extends RenderBlocks
@Override
public void renderFaceXPos( final Block par1Block, final double par2, final double par4, final double par6, final IIcon par8Icon )
{
if( this.faces.contains( ForgeDirection.EAST ) )
if( this.getFaces().contains( ForgeDirection.EAST ) )
{
if( !this.renderFaces.contains( ForgeDirection.EAST ) )
if( !this.getRenderFaces().contains( ForgeDirection.EAST ) )
{
return;
}
if( this.isFacade )
if( this.isFacade() )
{
final Tessellator tessellator = Tessellator.instance;
@@ -586,7 +587,7 @@ public class RenderBlocksWorkaround extends RenderBlocks
final int out = ( high << 16 ) | low;
Tessellator.instance.setColorRGBA_F( r, g, b, this.opacity );
Tessellator.instance.setColorRGBA_F( r, g, b, this.getOpacity() );
Tessellator.instance.setBrightness( out );
}
@@ -626,9 +627,68 @@ public class RenderBlocksWorkaround extends RenderBlocks
return new LightingCache( this.lightState );
}
Set<ForgeDirection> getFaces()
{
return this.faces;
}
public void setFaces( final EnumSet<ForgeDirection> faces )
{
this.faces = faces;
}
private boolean isCalculations()
{
return this.calculations;
}
public void setCalculations( final boolean calculations )
{
this.calculations = calculations;
}
private boolean isUseTextures()
{
return this.useTextures;
}
void setUseTextures( final boolean useTextures )
{
this.useTextures = useTextures;
}
private boolean isFacade()
{
return this.isFacade;
}
public void setFacade( final boolean isFacade )
{
this.isFacade = isFacade;
}
private float getOpacity()
{
return this.opacity;
}
public void setOpacity( final float opacity )
{
this.opacity = opacity;
}
private EnumSet<ForgeDirection> getRenderFaces()
{
return this.renderFaces;
}
void setRenderFaces( final EnumSet<ForgeDirection> renderFaces )
{
this.renderFaces = renderFaces;
}
private static class LightingCache implements ISimplifiedBundle
{
public final int[] aoXPos;
public final int[] aoXNeg;
public final int[] aoYPos;
@@ -55,6 +55,7 @@ public class SpatialSkyRender extends IRenderHandler
public void render( final float partialTicks, final WorldClient world, final Minecraft mc )
{
final long now = System.currentTimeMillis();
if( now - this.cycle > 2000 )
{
this.cycle = now;
@@ -67,42 +68,37 @@ public class SpatialSkyRender extends IRenderHandler
fade /= 1000;
fade = 0.15f * ( 1.0f - Math.abs( ( fade - 1.0f ) * ( fade - 1.0f ) ) );
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
GL11.glDisable( GL11.GL_FOG );
GL11.glDisable( GL11.GL_ALPHA_TEST );
GL11.glDisable( GL11.GL_BLEND );
GL11.glDepthMask( false );
GL11.glColor4f( 0.0f, 0.0f, 0.0f, 1.0f );
final Tessellator tessellator = Tessellator.instance;
for( int i = 0; i < 6; ++i )
{
GL11.glPushMatrix();
if( i == 1 )
switch( i )
{
GL11.glRotatef( 90.0F, 1.0F, 0.0F, 0.0F );
}
if( i == 2 )
{
GL11.glRotatef( -90.0F, 1.0F, 0.0F, 0.0F );
}
if( i == 3 )
{
GL11.glRotatef( 180.0F, 1.0F, 0.0F, 0.0F );
}
if( i == 4 )
{
GL11.glRotatef( 90.0F, 0.0F, 0.0F, 1.0F );
}
if( i == 5 )
{
GL11.glRotatef( -90.0F, 0.0F, 0.0F, 1.0F );
case 1:
GL11.glRotatef( 90.0F, 1.0F, 0.0F, 0.0F );
break;
case 2:
GL11.glRotatef( -90.0F, 1.0F, 0.0F, 0.0F );
break;
case 3:
GL11.glRotatef( 180.0F, 1.0F, 0.0F, 0.0F );
break;
case 4:
GL11.glRotatef( 90.0F, 0.0F, 0.0F, 1.0F );
break;
case 5:
GL11.glRotatef( -90.0F, 0.0F, 0.0F, 1.0F );
break;
default:
break;
}
tessellator.startDrawingQuads();
@@ -112,30 +108,29 @@ public class SpatialSkyRender extends IRenderHandler
tessellator.addVertexWithUV( 100.0D, -100.0D, 100.0D, 16.0D, 16.0D );
tessellator.addVertexWithUV( 100.0D, -100.0D, -100.0D, 16.0D, 0.0D );
tessellator.draw();
GL11.glPopMatrix();
}
GL11.glDepthMask( true );
if( fade > 0.0f )
{
GL11.glDisable( GL11.GL_FOG );
GL11.glDisable( GL11.GL_ALPHA_TEST );
GL11.glEnable( GL11.GL_BLEND );
GL11.glDepthMask( false );
GL11.glEnable( GL11.GL_FOG );
GL11.glDisable( GL11.GL_FOG );
GL11.glDisable( GL11.GL_ALPHA_TEST );
GL11.glDisable( GL11.GL_TEXTURE_2D );
OpenGlHelper.glBlendFunc( 770, 771, 1, 0 );
RenderHelper.disableStandardItemLighting();
GL11.glDepthMask( false );
GL11.glEnable( GL11.GL_TEXTURE_2D );
GL11.glColor4f( fade, fade, fade, 1.0f );
GL11.glCallList( this.dspList );
RenderHelper.enableStandardItemLighting();
}
GL11.glPopAttrib();
GL11.glEnable( GL11.GL_FOG );
GL11.glEnable( GL11.GL_ALPHA_TEST );
GL11.glEnable( GL11.GL_BLEND );
GL11.glDepthMask( true );
GL11.glColor4f( 1.0f, 1.0f, 1.0f, 1.0f );
}
@@ -159,6 +154,7 @@ public class SpatialSkyRender extends IRenderHandler
iX *= dist;
iY *= dist;
iZ *= dist;
final double x = iX * 100.0D;
final double y = iY * 100.0D;
final double z = iZ * 100.0D;
@@ -183,6 +179,7 @@ public class SpatialSkyRender extends IRenderHandler
final double d23 = d17 * d12 - d20 * d13;
final double d24 = d23 * d9 - d21 * d10;
final double d25 = d21 * d9 + d23 * d10;
tessellator.addVertex( x + d24, y + d22, z + d25 );
}
}
@@ -39,7 +39,7 @@ import appeng.tile.AEBaseTile;
public class TESRWrapper extends TileEntitySpecialRenderer
{
public final RenderBlocks renderBlocksInstance = new RenderBlocks();
private final RenderBlocks renderBlocksInstance = new RenderBlocks();
private final BaseBlockRender blkRender;
private final double maxDistance;
@@ -77,9 +77,9 @@ public class TESRWrapper extends TileEntitySpecialRenderer
}
catch( final Throwable t )
{
AELog.severe( "Hi, Looks like there was a crash while rendering something..." );
AELog.error( "Hi, Looks like there was a crash while rendering something..." );
t.printStackTrace();
AELog.severe( "MC will now crash ( probably )!" );
AELog.error( "MC will now crash ( probably )!" );
throw new IllegalStateException( t );
}
}
@@ -20,6 +20,7 @@ package appeng.client.render;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
@@ -41,10 +42,10 @@ public final class WorldRender implements ISimpleBlockRenderingHandler
{
public static final WorldRender INSTANCE = new WorldRender();
public final HashMap<AEBaseBlock, BaseBlockRender> blockRenders = new HashMap<AEBaseBlock, BaseBlockRender>();
final int renderID = RenderingRegistry.getNextAvailableRenderId();
private final Map<AEBaseBlock, BaseBlockRender> blockRenders = new HashMap<AEBaseBlock, BaseBlockRender>();
private final int renderID = RenderingRegistry.getNextAvailableRenderId();
private final RenderBlocks renderer = new RenderBlocks();
boolean hasError = false;
private boolean hasError = false;
private WorldRender()
{
@@ -83,10 +84,10 @@ public final class WorldRender implements ISimpleBlockRenderingHandler
private BaseBlockRender getRender( final AEBaseBlock block )
{
return block.getRendererInstance().rendererInstance;
return block.getRendererInstance().getRendererInstance();
}
public void renderItemBlock( final ItemStack item, final ItemRenderType type, final Object[] data )
void renderItemBlock( final ItemStack item, final ItemRenderType type, final Object[] data )
{
final Block blk = Block.getBlockFromItem( item.getItem() );
if( blk instanceof AEBaseBlock )
@@ -103,9 +104,9 @@ public final class WorldRender implements ISimpleBlockRenderingHandler
if( !this.hasError )
{
this.hasError = true;
AELog.severe( "Invalid render - item/block mismatch" );
AELog.severe( " item: " + item.getUnlocalizedName() );
AELog.severe( " block: " + blk.getUnlocalizedName() );
AELog.error( "Invalid render - item/block mismatch" );
AELog.error( " item: " + item.getUnlocalizedName() );
AELog.error( " block: " + blk.getUnlocalizedName() );
}
}
}
@@ -107,7 +107,7 @@ public class RenderBlockAssembler extends BaseBlockRender<BlockMolecularAssemble
{
final TileMolecularAssembler tma = maBlock.getTileEntity( world, x, y, z );
if( BlockMolecularAssembler.booleanAlphaPass )
if( BlockMolecularAssembler.isBooleanAlphaPass() )
{
if( tma.isPowered() )
{
@@ -126,14 +126,14 @@ public class RenderBlockAssembler extends BaseBlockRender<BlockMolecularAssemble
return false;
}
BusRenderer.INSTANCE.renderer.blockAccess = renderer.blockAccess;
renderer = BusRenderer.INSTANCE.renderer;
BusRenderer.INSTANCE.getRenderer().blockAccess = renderer.blockAccess;
renderer = BusRenderer.INSTANCE.getRenderer();
this.preRenderInWorld( maBlock, world, x, y, z, renderer );
tma.lightCache = BusRenderHelper.INSTANCE.useSimplifiedRendering( x, y, z, this, tma.lightCache );
tma.setLightCache( BusRenderHelper.INSTANCE.useSimplifiedRendering( x, y, z, this, tma.getLightCache() ) );
BusRenderer.INSTANCE.renderer.isFacade = true;
BusRenderer.INSTANCE.getRenderer().setFacade( true );
final IOrientable te = this.getOrientable( maBlock, world, x, y, z );
final ForgeDirection fdy = te.getUp();
@@ -192,53 +192,59 @@ public class RenderBlockAssembler extends BaseBlockRender<BlockMolecularAssemble
maBlock.getRendererInstance().setTemporaryRenderIcon( null );
renderer.renderAllFaces = false;
BusRenderer.INSTANCE.renderer.isFacade = false;
BusRenderer.INSTANCE.getRenderer().setFacade( false );
this.postRenderInWorld( renderer );
return true;
}
public void renderCableAt( final double thickness, final IBlockAccess world, final int x, final int y, final int z, final BlockMolecularAssembler block, final RenderBlocks renderer, final double pull, final boolean covered )
private void renderCableAt( final double thickness, final IBlockAccess world, final int x, final int y, final int z, final BlockMolecularAssembler block, final RenderBlocks renderer, final double pull, final boolean covered )
{
IIcon texture = null;
block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, x, y, z, ForgeDirection.WEST, covered ) );
texture = this.getConnectedCable( world, x, y, z, ForgeDirection.WEST, covered );
block.getRendererInstance().setTemporaryRenderIcon( texture );
if( texture != null )
{
renderer.setRenderBounds( 0.0D, 0.5D - thickness, 0.5D - thickness, 0.5D - thickness - pull, 0.5D + thickness, 0.5D + thickness );
renderer.renderStandardBlock( block, x, y, z );
}
block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, x, y, z, ForgeDirection.EAST, covered ) );
texture = this.getConnectedCable( world, x, y, z, ForgeDirection.EAST, covered );
block.getRendererInstance().setTemporaryRenderIcon( texture );
if( texture != null )
{
renderer.setRenderBounds( 0.5D + thickness + pull, 0.5D - thickness, 0.5D - thickness, 1.0D, 0.5D + thickness, 0.5D + thickness );
renderer.renderStandardBlock( block, x, y, z );
}
block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, x, y, z, ForgeDirection.NORTH, covered ) );
texture = this.getConnectedCable( world, x, y, z, ForgeDirection.NORTH, covered );
block.getRendererInstance().setTemporaryRenderIcon( texture );
if( texture != null )
{
renderer.setRenderBounds( 0.5D - thickness, 0.5D - thickness, 0.0D, 0.5D + thickness, 0.5D + thickness, 0.5D - thickness - pull );
renderer.renderStandardBlock( block, x, y, z );
}
block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, x, y, z, ForgeDirection.SOUTH, covered ) );
texture = this.getConnectedCable( world, x, y, z, ForgeDirection.SOUTH, covered );
block.getRendererInstance().setTemporaryRenderIcon( texture );
if( texture != null )
{
renderer.setRenderBounds( 0.5D - thickness, 0.5D - thickness, 0.5D + thickness + pull, 0.5D + thickness, 0.5D + thickness, 1.0D );
renderer.renderStandardBlock( block, x, y, z );
}
block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, x, y, z, ForgeDirection.DOWN, covered ) );
texture = this.getConnectedCable( world, x, y, z, ForgeDirection.DOWN, covered );
block.getRendererInstance().setTemporaryRenderIcon( texture );
if( texture != null )
{
renderer.setRenderBounds( 0.5D - thickness, 0.0D, 0.5D - thickness, 0.5D + thickness, 0.5D - thickness - pull, 0.5D + thickness );
renderer.renderStandardBlock( block, x, y, z );
}
block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, x, y, z, ForgeDirection.UP, covered ) );
texture = this.getConnectedCable( world, x, y, z, ForgeDirection.UP, covered );
block.getRendererInstance().setTemporaryRenderIcon( texture );
if( texture != null )
{
renderer.setRenderBounds( 0.5D - thickness, 0.5D + thickness + pull, 0.5D - thickness, 0.5D + thickness, 1.0D, 0.5D + thickness );
@@ -248,9 +254,10 @@ public class RenderBlockAssembler extends BaseBlockRender<BlockMolecularAssemble
block.getRendererInstance().setTemporaryRenderIcon( null );
}
IIcon getConnectedCable( final IBlockAccess world, final int x, final int y, final int z, final ForgeDirection side, final boolean covered )
private IIcon getConnectedCable( final IBlockAccess world, final int x, final int y, final int z, final ForgeDirection side, final boolean covered )
{
final int tileYPos = y + side.offsetY;
if( -1 < tileYPos && tileYPos < 256 )
{
final TileEntity ne = world.getTileEntity( x + side.offsetX, tileYPos, z + side.offsetZ );
@@ -258,9 +265,11 @@ public class RenderBlockAssembler extends BaseBlockRender<BlockMolecularAssemble
{
final IPartHost ph = (IPartHost) ne;
final IPart pcx = ph.getPart( ForgeDirection.UNKNOWN );
if( pcx instanceof PartCable )
{
final PartCable pc = (PartCable) pcx;
if( pc.isConnected( side.getOpposite() ) )
{
if( covered )
@@ -124,48 +124,59 @@ public class RenderBlockCharger extends BaseBlockRender<BlockCharger, TileCharge
@Override
public void renderTile( final BlockCharger block, final TileCharger tile, final Tessellator tess, final double x, final double y, final double z, final float f, final RenderBlocks renderer )
{
if( tile == null )
{
return;
}
final ItemStack sis = tile.getStackInSlot( 0 );
if( sis != null )
if( sis == null )
{
GL11.glPushMatrix();
this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() );
try
{
GL11.glTranslatef( 0.5f, 0.45f, 0.5f );
GL11.glScalef( 1.0f / 1.1f, 1.0f / 1.1f, 1.0f / 1.1f );
GL11.glScalef( 1.0f, 1.0f, 1.0f );
final Block blk = Block.getBlockFromItem( sis.getItem() );
if( sis.getItemSpriteNumber() == 0 && block != null && RenderBlocks.renderItemIn3d( blk.getRenderType() ) )
{
GL11.glRotatef( 25.0f, 1.0f, 0.0f, 0.0f );
GL11.glRotatef( 15.0f, 0.0f, 1.0f, 0.0f );
GL11.glRotatef( 30.0f, 0.0f, 1.0f, 0.0f );
}
// << 20 | light << 4;
final int br = tile.getWorldObj().getLightBrightnessForSkyBlocks( tile.xCoord, tile.yCoord, tile.zCoord, 0 );
final int var11 = br % 65536;
final int var12 = br / 65536;
OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11, var12 );
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
GL11.glDisable( GL11.GL_LIGHTING );
GL11.glDisable( GL12.GL_RESCALE_NORMAL );
tess.setColorOpaque_F( 1.0f, 1.0f, 1.0f );
this.doRenderItem( sis, tile );
}
catch( final Exception err )
{
AELog.error( err );
}
GL11.glPopMatrix();
return;
}
GL11.glPushMatrix();
this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() );
try
{
GL11.glTranslatef( 0.5f, 0.45f, 0.5f );
GL11.glScalef( 1.0f / 1.1f, 1.0f / 1.1f, 1.0f / 1.1f );
GL11.glScalef( 1.0f, 1.0f, 1.0f );
final Block blk = Block.getBlockFromItem( sis.getItem() );
if( sis.getItemSpriteNumber() == 0 && block != null && RenderBlocks.renderItemIn3d( blk.getRenderType() ) )
{
GL11.glRotatef( 25.0f, 1.0f, 0.0f, 0.0f );
GL11.glRotatef( 15.0f, 0.0f, 1.0f, 0.0f );
GL11.glRotatef( 30.0f, 0.0f, 1.0f, 0.0f );
}
final int br = tile.getWorldObj().getLightBrightnessForSkyBlocks( tile.xCoord, tile.yCoord, tile.zCoord, 0 );
final int var11 = br % 65536;
final int var12 = br / 65536;
OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11, var12 );
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
GL11.glDisable( GL11.GL_LIGHTING );
GL11.glDisable( GL12.GL_RESCALE_NORMAL );
tess.setColorOpaque_F( 1.0f, 1.0f, 1.0f );
this.doRenderItem( sis, tile );
}
catch( final Exception err )
{
AELog.debug( err );
}
finally
{
GL11.glEnable( GL12.GL_RESCALE_NORMAL );
GL11.glEnable( GL11.GL_LIGHTING );
}
GL11.glPopMatrix();
}
}
@@ -124,6 +124,7 @@ public class RenderBlockController extends BaseBlockRender<BlockController, Tile
else if( ( xx ? 1 : 0 ) + ( yy ? 1 : 0 ) + ( zz ? 1 : 0 ) >= 2 )
{
final int v = ( Math.abs( x ) + Math.abs( y ) + Math.abs( z ) ) % 2;
renderer.uvRotateEast = renderer.uvRotateBottom = renderer.uvRotateNorth = renderer.uvRotateSouth = renderer.uvRotateTop = renderer.uvRotateWest = 0;
if( v == 0 )
@@ -140,6 +141,7 @@ public class RenderBlockController extends BaseBlockRender<BlockController, Tile
if( hasPower )
{
blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerPowered.getIcon() );
if( isConflict )
{
lights = ExtraBlockTextures.BlockControllerConflict;
@@ -156,6 +158,7 @@ public class RenderBlockController extends BaseBlockRender<BlockController, Tile
}
final boolean out = renderer.renderStandardBlock( blk, x, y, z );
if( lights != null )
{
Tessellator.instance.setColorOpaque_F( 1.0f, 1.0f, 1.0f );
@@ -57,21 +57,20 @@ public class RenderBlockCraftingCPU<B extends BlockCraftingUnit, T extends TileC
@Override
public boolean renderInWorld( final B blk, final IBlockAccess w, final int x, final int y, final int z, RenderBlocks renderer )
{
boolean formed = false;
boolean emitsLight = false;
final TileCraftingTile craftingTile = blk.getTileEntity( w, x, y, z );
final TileCraftingTile ct = blk.getTileEntity( w, x, y, z );
if( ct != null && ct.isFormed() )
if( craftingTile == null )
{
formed = true;
emitsLight = ct.isPowered();
return false;
}
final int meta = w.getBlockMetadata( x, y, z ) & 3;
final boolean formed = craftingTile.isFormed();
final boolean emitsLight = craftingTile.isPowered();
final int meta = w.getBlockMetadata( x, y, z ) & 3;
final boolean isMonitor = blk.getClass() == BlockCraftingMonitor.class;
final IIcon theIcon = blk.getIcon( ForgeDirection.SOUTH.ordinal(), meta | ( formed ? 8 : 0 ) );
IIcon nonForward = theIcon;
if( isMonitor )
{
for( final Block craftingBlock : AEApi.instance().definitions().blocks().craftingUnit().maybeBlock().asSet() )
@@ -82,9 +81,9 @@ public class RenderBlockCraftingCPU<B extends BlockCraftingUnit, T extends TileC
if( formed && renderer.overrideBlockTexture == null )
{
renderer = BusRenderer.INSTANCE.renderer;
renderer = BusRenderer.INSTANCE.getRenderer();
final BusRenderHelper i = BusRenderHelper.INSTANCE;
BusRenderer.INSTANCE.renderer.isFacade = true;
BusRenderer.INSTANCE.getRenderer().setFacade( true );
renderer.blockAccess = w;
i.setPass( 0 );
@@ -92,7 +91,7 @@ public class RenderBlockCraftingCPU<B extends BlockCraftingUnit, T extends TileC
try
{
ct.lightCache = i.useSimplifiedRendering( x, y, z, null, ct.lightCache );
craftingTile.setLightCache( i.useSimplifiedRendering( x, y, z, null, craftingTile.getLightCache() ) );
}
catch( final Throwable ignored )
{
@@ -122,16 +121,17 @@ public class RenderBlockCraftingCPU<B extends BlockCraftingUnit, T extends TileC
i.setBounds( this.fso( side, lowX, ForgeDirection.WEST ), this.fso( side, lowY, ForgeDirection.DOWN ), this.fso( side, lowZ, ForgeDirection.NORTH ), this.fso( side, highX, ForgeDirection.EAST ), this.fso( side, highY, ForgeDirection.UP ), this.fso( side, highZ, ForgeDirection.SOUTH ) );
i.prepareBounds( renderer );
boolean LocalEmit = emitsLight;
if( blk instanceof BlockCraftingMonitor && ct.getForward() != side )
boolean localEmit = emitsLight;
if( blk instanceof BlockCraftingMonitor && craftingTile.getForward() != side )
{
LocalEmit = false;
localEmit = false;
}
this.handleSide( blk, meta, x, y, z, i, renderer, ct.getForward() == side ? theIcon : nonForward, LocalEmit, isMonitor, side, w );
this.handleSide( blk, meta, x, y, z, i, renderer, craftingTile.getForward() == side ? theIcon : nonForward, localEmit, isMonitor, side, w );
}
BusRenderer.INSTANCE.renderer.isFacade = false;
BusRenderer.INSTANCE.getRenderer().setFacade( false );
i.setFacesToRender( EnumSet.allOf( ForgeDirection.class ) );
i.normalRendering();
@@ -150,6 +150,7 @@ public class RenderBlockCraftingCPU<B extends BlockCraftingUnit, T extends TileC
private boolean isConnected( final IBlockAccess w, final int x, final int y, final int z, final ForgeDirection side )
{
final int tileYPos = y + side.offsetY;
if( 0 <= tileYPos && tileYPos <= 255 )
{
final TileEntity tile = w.getTileEntity( x + side.offsetX, tileYPos, z + side.offsetZ );
@@ -164,15 +165,7 @@ public class RenderBlockCraftingCPU<B extends BlockCraftingUnit, T extends TileC
private void renderCorner( final BusRenderHelper i, final RenderBlocks renderer, final IBlockAccess w, final int x, final int y, final int z, final ForgeDirection up, final ForgeDirection east, final ForgeDirection south )
{
if( this.isConnected( w, x, y, z, up ) )
{
return;
}
if( this.isConnected( w, x, y, z, east ) )
{
return;
}
if( this.isConnected( w, x, y, z, south ) )
if( this.isConnected( w, x, y, z, up ) || this.isConnected( w, x, y, z, east ) || this.isConnected( w, x, y, z, south ) )
{
return;
}
@@ -303,6 +296,7 @@ public class RenderBlockCraftingCPU<B extends BlockCraftingUnit, T extends TileC
if( !( i.getBound( a ) < 0.001 || i.getBound( a ) > 15.999 ) )
{
final double width = 3.0 / 16.0;
switch( a )
{
case DOWN:
@@ -63,27 +63,26 @@ public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU<BlockC
{
final IAEItemStack ais = tile.getJobProgress();
if( tile.dspList == null )
if( tile.getDisplayList() == null )
{
tile.updateList = true;
tile.dspList = GLAllocation.generateDisplayLists( 1 );
tile.setUpdateList( true );
tile.setDisplayList( GLAllocation.generateDisplayLists( 1 ) );
}
if( ais != null )
else
{
GL11.glPushMatrix();
GL11.glTranslated( x + 0.5, y + 0.5, z + 0.5 );
if( tile.updateList )
if( tile.isUpdateList() )
{
tile.updateList = false;
GL11.glNewList( tile.dspList, GL11.GL_COMPILE_AND_EXECUTE );
tile.setUpdateList( false );
GL11.glNewList( tile.getDisplayList(), GL11.GL_COMPILE_AND_EXECUTE );
this.tesrRenderScreen( tess, tile, ais );
GL11.glEndList();
}
else
{
GL11.glCallList( tile.dspList );
GL11.glCallList( tile.getDisplayList() );
}
GL11.glPopMatrix();
@@ -97,8 +96,8 @@ public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU<BlockC
ForgeDirection walrus = side.offsetY != 0 ? ForgeDirection.SOUTH : ForgeDirection.UP;
int spin = 0;
int max = 5;
while( walrus != cmt.getUp() && max > 0 )
{
max--;
@@ -107,50 +106,43 @@ public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU<BlockC
}
max--;
GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS );
GL11.glTranslated( side.offsetX * 0.69, side.offsetY * 0.69, side.offsetZ * 0.69 );
final float scale = 0.7f;
GL11.glScalef( scale, scale, scale );
if( side == ForgeDirection.UP )
switch( side )
{
GL11.glScalef( 1.0f, -1.0f, 1.0f );
GL11.glRotatef( 90.0f, 1.0f, 0.0f, 0.0f );
GL11.glRotatef( spin * 90.0F, 0, 0, 1 );
case UP:
GL11.glScalef( 1.0f, -1.0f, 1.0f );
GL11.glRotatef( 90.0f, 1.0f, 0.0f, 0.0f );
GL11.glRotatef( spin * 90.0F, 0, 0, 1 );
break;
case DOWN:
GL11.glScalef( 1.0f, -1.0f, 1.0f );
GL11.glRotatef( -90.0f, 1.0f, 0.0f, 0.0f );
GL11.glRotatef( spin * -90.0F, 0, 0, 1 );
break;
case EAST:
GL11.glScalef( -1.0f, -1.0f, -1.0f );
GL11.glRotatef( -90.0f, 0.0f, 1.0f, 0.0f );
break;
case WEST:
GL11.glScalef( -1.0f, -1.0f, -1.0f );
GL11.glRotatef( 90.0f, 0.0f, 1.0f, 0.0f );
break;
case NORTH:
GL11.glScalef( -1.0f, -1.0f, -1.0f );
break;
case SOUTH:
GL11.glScalef( -1.0f, -1.0f, -1.0f );
GL11.glRotatef( 180.0f, 0.0f, 1.0f, 0.0f );
break;
default:
break;
}
if( side == ForgeDirection.DOWN )
{
GL11.glScalef( 1.0f, -1.0f, 1.0f );
GL11.glRotatef( -90.0f, 1.0f, 0.0f, 0.0f );
GL11.glRotatef( spin * -90.0F, 0, 0, 1 );
}
if( side == ForgeDirection.EAST )
{
GL11.glScalef( -1.0f, -1.0f, -1.0f );
GL11.glRotatef( -90.0f, 0.0f, 1.0f, 0.0f );
}
if( side == ForgeDirection.WEST )
{
GL11.glScalef( -1.0f, -1.0f, -1.0f );
GL11.glRotatef( 90.0f, 0.0f, 1.0f, 0.0f );
}
if( side == ForgeDirection.NORTH )
{
GL11.glScalef( -1.0f, -1.0f, -1.0f );
}
if( side == ForgeDirection.SOUTH )
{
GL11.glScalef( -1.0f, -1.0f, -1.0f );
GL11.glRotatef( 180.0f, 0.0f, 1.0f, 0.0f );
}
GL11.glPushMatrix();
try
{
final ItemStack sis = ais.getItemStack();
@@ -159,6 +151,7 @@ public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU<BlockC
final int br = 16 << 20 | 16 << 4;
final int var11 = br % 65536;
final int var12 = br / 65536;
OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11 * 0.8F, var12 * 0.8F );
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
@@ -172,10 +165,13 @@ public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU<BlockC
}
catch( final Exception e )
{
AELog.error( e );
AELog.debug( e );
}
finally
{
GL11.glEnable( GL12.GL_RESCALE_NORMAL );
GL11.glEnable( GL11.GL_LIGHTING );
}
GL11.glPopMatrix();
GL11.glTranslatef( 0.0f, 0.14f, -0.24f );
GL11.glScalef( 1.0f / 62.0f, 1.0f / 62.0f, 1.0f / 62.0f );
@@ -185,9 +181,8 @@ public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU<BlockC
final FontRenderer fr = Minecraft.getMinecraft().fontRenderer;
final int width = fr.getStringWidth( renderedStackSize );
GL11.glTranslatef( -0.5f * width, 0.0f, -1.0f );
fr.drawString( renderedStackSize, 0, 0, 0 );
GL11.glPopAttrib();
}
}
@@ -71,7 +71,6 @@ public class RenderBlockCrank extends BaseBlockRender<BlockCrank, TileCrank>
{
return;
}
Minecraft.getMinecraft().getTextureManager().bindTexture( TextureMap.locationBlocksTexture );
RenderHelper.disableStandardItemLighting();
@@ -84,12 +83,13 @@ public class RenderBlockCrank extends BaseBlockRender<BlockCrank, TileCrank>
GL11.glShadeModel( GL11.GL_FLAT );
}
GL11.glCullFace( GL11.GL_FRONT );
GL11.glColor4f( 1.0f, 1.0f, 1.0f, 1.0f );
this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() );
GL11.glTranslated( 0.5, 0, 0.5 );
GL11.glRotatef( tile.visibleRotation, 0, 1, 0 );
GL11.glRotatef( tile.getVisibleRotation(), 0, 1, 0 );
GL11.glTranslated( -0.5, 0, -0.5 );
tess.setTranslation( -tile.xCoord, -tile.yCoord, -tile.zCoord );
@@ -107,6 +107,9 @@ public class RenderBlockCrank extends BaseBlockRender<BlockCrank, TileCrank>
tess.draw();
tess.setTranslation( 0, 0, 0 );
GL11.glCullFace( GL11.GL_BACK );
RenderHelper.enableStandardItemLighting();
}
}
@@ -67,6 +67,7 @@ public class RenderBlockEnergyCube extends BaseBlockRender<BlockEnergyCell, Tile
final int meta = world.getBlockMetadata( x, y, z );
renderer.overrideBlockTexture = blk.getIcon( 0, meta );
final boolean out = renderer.renderStandardBlock( blk, x, y, z );
renderer.overrideBlockTexture = null;
@@ -56,6 +56,7 @@ import appeng.util.Platform;
*/
public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileInscriber>
{
private static final float ITEM_RENDER_SCALE = 1.0f / 1.1f;
public RenderBlockInscriber()
{
@@ -106,14 +107,15 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
@Override
public boolean renderInWorld( final BlockInscriber block, final IBlockAccess world, final int x, final int y, final int z, final RenderBlocks renderer )
{
this.preRenderInWorld( block, world, x, y, z, renderer );
final IOrientable te = this.getOrientable( block, world, x, y, z );
if( te == null )
{
return false;
}
this.preRenderInWorld( block, world, x, y, z, renderer );
final ForgeDirection fdy = te.getUp();
final ForgeDirection fdz = te.getForward();
final ForgeDirection fdx = Platform.crossProduct( fdz, fdy ).getOpposite();
@@ -149,12 +151,16 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
@Override
public void renderTile( final BlockInscriber block, final TileInscriber tile, final Tessellator tess, final double x, final double y, final double z, final float f, final RenderBlocks renderer )
{
// render inscriber
GL11.glPushMatrix();
this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() );
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
GL11.glDisable( GL11.GL_LIGHTING );
GL11.glDisable( GL12.GL_RESCALE_NORMAL );
// render sides of stamps
GL11.glCullFace( GL11.GL_FRONT );
final Minecraft mc = Minecraft.getMinecraft();
@@ -169,13 +175,13 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
long absoluteProgress = 0;
if( tile.smash )
if( tile.isSmash() )
{
final long currentTime = System.currentTimeMillis();
absoluteProgress = currentTime - tile.clientStart;
absoluteProgress = currentTime - tile.getClientStart();
if( absoluteProgress > 800 )
{
tile.smash = false;
tile.setSmash( false );
}
}
@@ -219,11 +225,11 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
tess.draw();
GL11.glCullFace( GL11.GL_BACK );
GL11.glEnable( GL11.GL_LIGHTING );
GL11.glEnable( GL12.GL_RESCALE_NORMAL );
GL11.glPopMatrix();
// render items.
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
int items = 0;
if( tile.getStackInSlot( 0 ) != null )
{
@@ -259,32 +265,45 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
this.renderItem( tile.getStackInSlot( 1 ), -press, block, tile, tess, x, y, z, f, renderer );
this.renderItem( tile.getStackInSlot( 2 ), 0.0f, block, tile, tess, x, y, z, f, renderer );
}
GL11.glEnable( GL11.GL_LIGHTING );
GL11.glEnable( GL12.GL_RESCALE_NORMAL );
GL11.glCullFace( GL11.GL_BACK );
}
public void renderItem( ItemStack sis, final float o, final AEBaseBlock block, final AEBaseTile tile, final Tessellator tess, final double x, final double y, final double z, final float f, final RenderBlocks renderer )
private void renderItem( ItemStack sis, final float o, final AEBaseBlock block, final AEBaseTile tile, final Tessellator tess, final double x, final double y, final double z, final float f, final RenderBlocks renderer )
{
if( sis != null )
{
sis = sis.copy();
GL11.glPushMatrix();
// fix to inscriber
this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() );
try
{
// move to center
GL11.glTranslatef( 0.5f, 0.5f + o, 0.5f );
GL11.glScalef( 1.0f / 1.1f, 1.0f / 1.1f, 1.0f / 1.1f );
GL11.glScalef( 1.0f, 1.0f, 1.0f );
// set scale
GL11.glScalef( ITEM_RENDER_SCALE, ITEM_RENDER_SCALE, ITEM_RENDER_SCALE );
final Block blk = Block.getBlockFromItem( sis.getItem() );
// is a block
if( sis.getItemSpriteNumber() == 0 && block != null && RenderBlocks.renderItemIn3d( blk.getRenderType() ) )
{
GL11.glRotatef( 25.0f, 1.0f, 0.0f, 0.0f );
GL11.glRotatef( 15.0f, 0.0f, 1.0f, 0.0f );
GL11.glRotatef( 30.0f, 0.0f, 1.0f, 0.0f );
// rotate block in angle to make it more plastic
GL11.glRotatef( 22.5f, 1f, 0f, 0f );
GL11.glRotatef( -33.75f, 0f, 1f, 0f );
}
else
{
// rotate item to match the inventory icon orientation.
GL11.glRotatef( -90.0f, 1f, 0f, 0f );
GL11.glRotatef( 180.0f, 0f, 1f, 0f );
}
GL11.glRotatef( 90.0f, 1, 0, 0 );
// << 20 | light << 4;
final int br = tile.getWorldObj().getLightBrightnessForSkyBlocks( tile.xCoord, tile.yCoord, tile.zCoord, 0 );
@@ -293,17 +312,13 @@ public class RenderBlockInscriber extends BaseBlockRender<BlockInscriber, TileIn
OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11, var12 );
GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F );
GL11.glDisable( GL11.GL_LIGHTING );
GL11.glDisable( GL12.GL_RESCALE_NORMAL );
tess.setColorOpaque_F( 1.0f, 1.0f, 1.0f );
this.doRenderItem( sis, tile );
}
catch( final Exception err )
{
AELog.error( err );
AELog.debug( err );
}
GL11.glPopMatrix();
@@ -55,6 +55,7 @@ public class RenderBlockPaint extends BaseBlockRender<BlockPaint, TilePaint>
{
final TilePaint tp = imb.getTileEntity( world, x, y, z );
boolean out = false;
if( tp != null )
{
// super.renderInWorld( imb, world, x, y, z, renderer );
@@ -79,19 +80,19 @@ public class RenderBlockPaint extends BaseBlockRender<BlockPaint, TilePaint>
final int lumen = 14 << 20 | 14 << 4;
for( final Splotch s : tp.getDots() )
{
if( !validSides.contains( s.side ) )
if( !validSides.contains( s.getSide() ) )
{
continue;
}
if( s.lumen )
if( s.isLumen() )
{
tess.setColorOpaque_I( s.color.whiteVariant );
tess.setColorOpaque_I( s.getColor().whiteVariant );
tess.setBrightness( lumen );
}
else
{
tess.setColorOpaque_I( s.color.mediumVariant );
tess.setColorOpaque_I( s.getColor().mediumVariant );
tess.setBrightness( brightness );
}
@@ -106,13 +107,13 @@ public class RenderBlockPaint extends BaseBlockRender<BlockPaint, TilePaint>
pos_x = Math.max( buffer, Math.min( 1.0 - buffer, pos_x ) );
pos_y = Math.max( buffer, Math.min( 1.0 - buffer, pos_y ) );
if( s.side == ForgeDirection.SOUTH || s.side == ForgeDirection.NORTH )
if( s.getSide() == ForgeDirection.SOUTH || s.getSide() == ForgeDirection.NORTH )
{
pos_x += x;
pos_y += y;
}
else if( s.side == ForgeDirection.UP || s.side == ForgeDirection.DOWN )
else if( s.getSide() == ForgeDirection.UP || s.getSide() == ForgeDirection.DOWN )
{
pos_x += x;
pos_y += z;
@@ -126,7 +127,7 @@ public class RenderBlockPaint extends BaseBlockRender<BlockPaint, TilePaint>
final IIcon ico = icoSet[s.getSeed() % icoSet.length];
switch( s.side )
switch( s.getSide() )
{
case UP:
offset = 1.0 - offset;
@@ -42,17 +42,22 @@ public class RenderBlockQuartzAccelerator extends BaseBlockRender<BlockQuartzGro
public boolean renderInWorld( final BlockQuartzGrowthAccelerator blk, final IBlockAccess world, final int x, final int y, final int z, final RenderBlocks renderer )
{
final TileEntity te = world.getTileEntity( x, y, z );
if( te instanceof TileQuartzGrowthAccelerator )
{
if( ( (TileQuartzGrowthAccelerator) te ).hasPower )
final TileQuartzGrowthAccelerator tileCGA = (TileQuartzGrowthAccelerator) te;
if( tileCGA.isPowered() )
{
final IIcon top_Bottom = ExtraBlockTextures.BlockQuartzGrowthAcceleratorOn.getIcon();
final IIcon side = ExtraBlockTextures.BlockQuartzGrowthAcceleratorSideOn.getIcon();
blk.getRendererInstance().setTemporaryRenderIcons( top_Bottom, top_Bottom, side, side, side, side );
}
}
final boolean out = super.renderInWorld( blk, world, x, y, z, renderer );
blk.getRendererInstance().setTemporaryRenderIcon( null );
return out;

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