Compare commits

...

486 Commits

Author SHA1 Message Date
yueh a6efd23513 Added TestCase for colour mapping 2016-12-08 18:58:36 +01:00
yueh d7cb7da7d5 Added missed file 2016-12-08 18:23:49 +01:00
yueh 775d17e9db Started P2P rework
Changed frequency to short.
Added a per grid RNG to request a new frequency, hopefully without many
collisons.
Added a helper to convert between a frequency and 4 colours
2016-12-08 18:13:36 +01:00
yueh 86908b1ae6 Fixes #2647: Prevent crafting status from crashing due to missing network. 2016-12-08 13:07:25 +01:00
dshadowwolf 6bf52b0b0f Fixes constant reequip animation on portable cells/terminals (#2690)
Fix for portable cell and wireless terminal going into re-equip animations when GUI is open.
2016-12-08 12:34:41 +01:00
yueh eb1e86cacb Refactored GrinderRegistry. (#2644)
* Refactored GrinderRegistry.

Changed IGrinderRegistry#getRecipes to return an unmodifiable collection.
Added a way to remove recipes explicitly instead the internal list.
Added a cache to lookup recipes instead of iterating a list.

Renamed IGrinderEntry to IGrinderRecipe
Made IGrindRecipe immutable for easy caching.

Improved GrinderLogging and Exception Handling
JEI Workaround as it expects a List instead Collection.

* Added blacklist of explicit oredict names for the grindstone.

This can be used should the automatic recipe generation create unintended
loopholes.
2016-12-02 23:47:50 +01:00
yueh c405e725b2 Fixes #2667: Use new IC2 item names for P2P attunement. 2016-12-02 22:16:29 +01:00
yueh d377af9a69 Fixes #2675: Set fullBlock correctly afterwards.
Reduces the visibility of some methods as these should be access through the public methods of Block or the overridden ones.
Removes now useless getCheckedSubBlocks.
2016-12-02 22:15:56 +01:00
yueh 12dbd17320 Fixes #2666: Restore inventory after powerloss and still avoid dupes. 2016-12-01 16:17:46 +01:00
yueh 5028c8025b Fixes #2669: Missing particle texture for pylons. 2016-12-01 10:56:01 +01:00
yueh d11d6e754f Fixes #2655, #2276: Two dupe bugs related to network storage handling
* Fixes #2655: Actually remove an ICellContainer before updating the list.
* Fixes #2276: Apply tracker changes in the correct order.
2016-11-26 14:09:30 +01:00
yueh 887339f7b8 Removed ASMTweaker and replaced it with AT. (#2636)
Added appeng_at.cfg and updated build.gradle to correctly include the AT when building.
Deleted the now useless ASMTweaker.
Moved the coremod from package transformer to coremod as a better matching name.
Updated the old 1.7.10 code using reflection to drop it where forge or vanilla now exposes that functionality directly.
2016-11-26 14:08:10 +01:00
yueh a665200c31 Refactored AEConfig (#2633)
Added a singleton getter instead the public field.
Reduced all fields to private.
Replaced field access with getters.
Added setters where necessary (Dimension/Biome Registration)
Added config options to disable more features.
Splitted Enum name from the config key.
Changed FacadeConfig and Networkhandler similar to AEConfig.init().
2016-11-26 14:07:34 +01:00
yueh 6554e295d5 Updated dependencies.
Updated Forge and MCP Mappings.
Updated JEI, Tesla and IC2 APIs.
2016-11-17 10:50:06 +01:00
yueh 4eeb554dcb Fixes #2623: Network Tool not removing facades with shift rightlick. 2016-11-15 22:48:16 +01:00
yueh 3eae4a7d19 Fixes #2626: Subtract the correct amount from the remaining amount. 2016-11-15 22:14:17 +01:00
yueh 6c91e852ec Fixes #2608: Handle scrollbar on mouseclicks not during rendering. 2016-11-13 13:16:08 +01:00
yueh 52f516299b Fixes #2605: Formation plane now using the correct offset position. 2016-11-13 12:41:39 +01:00
yueh c74166b02a Restrict ItemHandlerAdaptor to not exceed the stacksize of a slot. (#2595) 2016-11-13 11:33:31 +01:00
yueh 26e86a114c Added an explicit ignore section to .gitignore
Current intention is to maintain a single blacklist for common OS
dependent files without having to define each and every folder and their
allowed filetypes to avoid commiting these.
2016-11-13 11:30:27 +01:00
yueh fc834036a0 Prevent hard to reproducable stacktraces from being swallowed. 2016-11-10 12:16:39 +01:00
yueh f96f7d82c5 Fixes #2544: NetworkTool now returns PASS for shift+right click on parts. 2016-11-10 11:55:13 +01:00
yueh c592f54a77 Fixes #2599: Missing instanceof EntityPlayerMP test. 2016-11-09 15:46:10 +01:00
yueh 89609a83ea Fixes #2593: Subtract the extracted not already gathered amount. 2016-11-07 13:33:11 +01:00
Sebastian Hartte e67969f52f Fixes #2566: Update packet deserialization was broken when parts were present that were not a grid host. 2016-11-07 00:44:53 +01:00
Sebastian Hartte 32a0496bc2 Fixes facade stilts sometimes being rendered using the facade texture's tint. 2016-11-07 00:17:24 +01:00
Sebastian Hartte 6df311c11a AE now accepts power via the legacy RF API (i.e. from Immersive Engineering). 2016-11-06 23:02:22 +01:00
Sebastian Hartte 2e23b92763 Added charging items via IC2 API. 2016-11-06 22:43:30 +01:00
Sebastian Hartte 41a029ffb4 Added item charging via legacy RF API. 2016-11-06 22:22:49 +01:00
Sebastian Hartte 9c8f914f42 Added CoFH Energy API. 2016-11-06 22:22:34 +01:00
shartte d75cdc9696 Gradle Source Set Changes (#2588)
Introduced separate source sets for "api" and "apis" (in preparation for source only 3rd party APIs).
2016-11-06 21:55:58 +01:00
yueh 77bb28ded6 Fixes #2585: Hide WAILA data when it cannot be retrieved. (#2586) 2016-11-06 20:28:36 +01:00
shartte 0e7981d717 Cleaning Up Mod Integrations (#2581)
* Cleaned up unused Mod integrations other than for mods that are likely to be integrated soon.
* Introduced an easier Facade class to access mod integration abstractions (called Integrations).
* Removed the link between IntegrationType and integration abstraction. Integrations are now explicitly instantiated inside of IntegrationNode.
2016-11-06 20:23:14 +01:00
Sebastian Hartte fbb0c05c7f Fixes #2577: Use the item stacks color handler to color tinted quads of the block model. 2016-11-06 03:35:56 +01:00
Sebastian Hartte efa0ab7e4e Fixes #2582: Right-Clicking with a Storage Cell would prevent further interaction even if the storage cell wasn't being disassembled. 2016-11-06 02:17:25 +01:00
yueh 70fe5189e0 Followup #2556, #2579: Prevent negative stacksizes. 2016-11-05 23:38:57 +01:00
Sebastian Hartte 3a8d6d0bcd Simplified handling of rotations inside getCapability() for TileInscriber. 2016-11-05 23:33:24 +01:00
yueh 7ac817e9ae Fixes #2556, #2579: Restore old click behaviour. 2016-11-05 23:28:27 +01:00
Sebastian Hartte 0ceb4765a2 Fixes #2580: The inscriber's rotation is not taken into account when returning the IItemHandler capability. 2016-11-05 23:27:52 +01:00
yueh 7ce9654402 Merge pull request #2576 from AppliedEnergistics/fix-2575
Fixes #2575: Removed ITickable from AEBaseTile
2016-11-05 22:07:59 +01:00
yueh 5328627d7a Fixes #2575: Removed ITickable from AEBaseTile
Removed TileEventType.TICK, use ITickable when really needed.
The few tiles needing to tick and are not a grid tile now implement ITickable.
Charger is no longer implementing ITickable.
2016-11-05 21:43:49 +01:00
yueh fe1a67ffaa Reduced drive update rate. (#2574)
Limits drive updates to modulate.
Code cleanup of the TileDrive.
2016-11-05 19:28:09 +01:00
shartte 4253d659f1 Add Config to Remove Crashing Items from Storage Cells (#2573)
Added a configuration option to enable players to recover their world if any of their items in storage cause crashes on load.
2016-11-05 13:50:54 +01:00
Sebastian Hartte b3560aaa00 Fixes #2571: Only call getDurabilityForDisplay if the item is damageable. 2016-11-05 12:58:15 +01:00
yueh 005392911d Fixed DriverWatcher constantly calling blinkCell instead when changed. 2016-11-05 00:11:02 +01:00
Sebastian Hartte 7f02562e0c Fixes sidedness issues when starting up the server. 2016-11-04 21:02:10 +01:00
yueh 84bc00fa20 Fixes #2567: Use heightmap for very low sea levels. 2016-11-04 16:13:27 +01:00
Sebastian Hartte c1483d87c7 Fixes #2549: A block being rendered in the translucent layer will cause the item renderer to completely disable depth-writing causing silly looking models when held in hand. 2016-11-04 11:51:24 +01:00
shartte f5e4a202cb Layers and IC2 Tunnel (#2565)
* Re-Activated the IC2 layers to implement an IC2 P2P tunnel.
2016-11-04 11:20:56 +01:00
yueh 6f15c2921a Fixes #2561: Do not use unchecked casts for IContainerListener. 2016-11-04 09:40:21 +01:00
DeadSix27 d891e5da15 Made memory card messages more clearly. (#2511)
* Made Memory card messages more clearly and easier to understand for newcomers.
2016-11-04 09:31:52 +01:00
Alexey Krainev 6607c8cd2f Updated russion translation (#2552)
* Added "P2P Waila Text"
* Changed "NEI to JEI"
2016-11-04 09:29:25 +01:00
yueh 1e20086799 Extracts item comparison from Platform into their own helper. (#2555)
* Extracts item comparison from Platform into their own helper.

Renamed methods to be more more fitting for the actual comparison.
Added documentation about each methods behaviour.
2016-11-04 09:27:52 +01:00
Sebastian Hartte f85ab7ddc2 Fixes Macerator recipes when IC2 integration is enabled. 2016-11-02 23:45:22 +01:00
Sebastian Hartte c3700737c3 Re-enables this IF-branch for ore dictionary tokens in the recipe files, which was inactive due to the recipe files all using lower-case verbs. 2016-11-02 23:34:04 +01:00
Sebastian Hartte 2f8013a49b Fixes registration of recipes when one of the recipes throws an unexpected unchecked exception during registration. Before, the registration would simply cancel and not log any errors in this case. Fixes issues with outdated IC2 integration (Macerator recipes) causing certain recipes to become non-functional. 2016-11-02 23:32:20 +01:00
Sebastian Hartte af54883fd3 Fixes #2558: Make Sky Stone Chest TESR more robust against odd world state, as Vanilla also does. 2016-11-02 20:44:50 +01:00
thatsIch 223a210d49 Replaced reference to FMLCommonHandler EventBus through MinecraftForge.EVENT_BUS due to deprecation notice 2016-11-02 14:22:00 +01:00
thatsIch c133e4f0ef Removed tickhandler registration from FMLCommonHandler EventBus since they same to MinecraftForge.EVENT_BUS 2016-11-02 14:14:51 +01:00
thatsIch 424d27b71c Removed github tag badge because this only works with SemVer in release format v1.0.0 for example and without any trailing information like "-alpha" 2016-11-02 13:42:24 +01:00
Sebastian Hartte 2fe5a3cef8 Fixes #2557: Made facades much more robust when rendering. Facades now use string ids for the base item in NBT again to avoid issues when loading worlds with a different Item ID registry mapping. In addition, we don't store the Block metadata instead of the Item Damage anymore, since when reading a facade back in, we were using that block metadata as the item damage, which is technically incorrect. 2016-11-02 01:43:01 +01:00
yueh a3c33d5323 Fixed typo in prioritylist. 2016-11-01 16:15:05 +01:00
yueh e927c27b85 Fixes #2554: Extract identical item not any equal one. 2016-11-01 15:51:38 +01:00
yueh d7d99c5e7e Fixes #2551: Prevent chunk rebuilds when drive is unchanged. 2016-11-01 11:22:35 +01:00
yueh b6d3be41e1 Fixes #2542: Prevent memory card from opening a GUI
Some additional cleanup of AEBaseTileBlock#onBlockActivated()
2016-11-01 10:29:46 +01:00
Sebastian Hartte 071ee83b7a Fixes #2548: Disable item.csv export on the server side, because we're unable to access creative tab information on the server. 2016-11-01 01:39:42 +01:00
Sebastian Hartte dfe7a29c92 Fixes #2546: When touching an annihilation plane horizontally, use the middle of the entities bounding box on the y-axis to determine whether it is touching the annihilation plane side or not. Otherwise entities did not get picked up when they were *exactly* on the same y-level as the annihilation plane. 2016-11-01 01:05:16 +01:00
Sebastian Hartte 2b02dc19c0 Fixes #2547: Crystal growing and forming fluix crystals was not possible on top of an annihilation plane (or any block with a not-quite-full bounding box), because the crystals thought they were not in water. Fixed by using the center of the crystal bounding box to determine water-status, instead of the bottom center. 2016-11-01 01:03:59 +01:00
shartte 9bf296bec9 Fixes AppVeyor Link 2016-11-01 00:02:35 +01:00
shartte 5db7fc8e8c Show P2P-Tunnel Link Status on WAILA (#2545)
Implemented QoL improvement for P2P tunnels by showing their link status via WAILA.
2016-10-31 23:55:14 +01:00
Sebastian Hartte c7eb696d60 Further improves robustness of facades. 2016-10-30 23:42:14 +01:00
Sebastian Hartte 4f53f5910b Fixes #2536: Mark host for save when placing facades. 2016-10-30 15:29:51 +01:00
Sebastian Hartte 971fc3d243 Fixes #2533 and #2531: Slight overhaul to how Facades store the associated item and retrieve the sprite. 2016-10-30 15:19:48 +01:00
Sebastian Hartte c2b5a58dd2 Fixes #2532: Work around bug in Forge lighting pipeline and UnpackedBakedQuad. 2016-10-30 13:15:42 +01:00
Sebastian Hartte 53c32cc296 #2527: Implements charging of tools via RF (Forge Energy) and Tesla. Tested with Tesla Essentials and EnderIO. 2016-10-30 02:38:20 +02:00
Sebastian Hartte 89299cdb3c Fixes #2525: Light P2P Tunnels not using the correct source for the light value. 2016-10-30 01:41:24 +02:00
Sebastian Hartte 2972f0ddc8 Fixes #2528: World light level not being updated when light-level of cable bus changed after removing parts. 2016-10-30 01:41:03 +02:00
Sebastian Hartte bd97a6edd5 Fixes #2525: Break particles for all attachments of a cable bus. 2016-10-29 19:44:10 +02:00
Sebastian Hartte 6b90c70755 Fixes #2526: Using 5-bit for 0-32 is not sufficient. Rewrote packet for syncing cables to clients to use an easier to deal with format while still saving space in the normal case (2 sides connected to a cable). 2016-10-29 18:06:10 +02:00
Sebastian Hartte 1832be3118 Removed unused methods. 2016-10-29 18:02:08 +02:00
yueh a9c5019554 Fixes #2530: Use ItemListIgnoreCrafting to ignore craftable items.
Wraps the internal inventory into an ItemListIgnoreCrafting to hide
craftable items from it. As the ItemLists will always create a copy of the
actual stack before changing them, it will not affect any itemstack stored
elsewhere.
2016-10-29 17:54:35 +02:00
Sebastian Hartte 3c7d91b73e Fixes #2529: Forgot to call superclass method for onBlockExploded for tiny tnt. 2016-10-29 11:52:06 +02:00
Sebastian Hartte ee0bfb9a3a Fixed slab blockstate variants. 2016-10-29 01:35:06 +02:00
Sebastian Hartte c23f11d8a1 Removed Pneumaticraft References since there is no 1.10 port and it has been inactive since March. 2016-10-28 23:06:52 +02:00
Sebastian Hartte f598fb3cc4 Fixes an issue when starting without IC2 being enabled. 2016-10-28 22:58:19 +02:00
Sebastian Hartte 6e6e51dc20 Separated TileEntity and External Power Sink arguments to IC2 to emphasize that they don't necessarily need to be the same, and that a tile entity is required for IC2. 2016-10-28 22:58:19 +02:00
Sebastian Hartte 344958aefb Added IC2 integration. 2016-10-28 22:58:19 +02:00
Sebastian Hartte 623e9eea3c Added IC2 API and installable Mod. 2016-10-28 22:58:19 +02:00
Sebastian Hartte 59544993bd This reverts back to the old way of extending the vertex format with the necessary vertex element for lightmap data, if fullbright quads are enabled. Instead of then enabling the extended vertex format for Optifine, it is disabled if Optifine is detected.
Since the root cause is actually that the Vanilla lighting pipeline doesn't support such Vertex Formats, we disable it also if the Forge lighting pipeline is disabled.

This also relates to #2489.
2016-10-27 20:05:18 +02:00
yueh 0bbf898709 Fixes failing testing and adding missing cases. 2016-10-27 19:31:06 +02:00
Alexey Krainev bbf77dc65f Updated Translation (#2517) 2016-10-27 19:09:31 +02:00
yueh 3600c72709 Fixes #2515: Incorrectly version comparison
Incorrectly prefer the channel over revision to determine the newest
version.
2016-10-27 19:01:40 +02:00
yueh 2a206594cf Fixes #2516: Prefix tile entities with modid
For a transition phase it also registers them under their old names.
2016-10-27 18:01:55 +02:00
shartte b977ee89ee Remove External Storage Handler (#2417) (#2508)
* Implemented an adapter for IItemHandler so it can be used by the Storage Bus.
* Added update hook for inject/extract to ItemHandlerAdapter.
* Implemented ItemHandler and FluidHandler capabilities for the condenser, as replacement for the Void Inventories.
* Removed external storage handler, added capability-based way of accessing a monitorable ME network via the storage bus. Removed special case inventories for the matter condenser.
* Implemented InventoryAdaptor for IItemHandler. This also now fixes molecular assemblers interaction with part interfaces.
2016-10-26 22:58:23 +02:00
bakaxyf 057754c851 Update zh_CN.lang 2016-10-26 20:15:54 +02:00
shartte 9235170bf1 Merge pull request #2507 from shartte/inscriber
Implement IItemHandler capability for TileInscriber to Fix Pipe Interaction Issues
2016-10-26 00:47:36 +02:00
Sebastian Hartte 7d3464abf9 Fixes #2500: Implement an IItemHandler that doesn't allow new items to be inserted if there's already an item in the slot, while not resetting progress. 2016-10-25 20:09:53 +02:00
Sebastian Hartte 23f8497dea Fixes #2498: Corrected color of biometric card with hash = 0 and correctly delegate the perspective aware transformations to the base model. In addition, don't allocate an empty cache for all cached models. 2016-10-24 23:11:08 +02:00
yueh b175c71b84 Fixes #2504: Updated inscriber model to match 1.7.10 2016-10-24 16:29:02 +02:00
yueh ab974828b0 Fixes #2503: Use correct uv values for charger model 2016-10-24 15:40:12 +02:00
yueh dafa0e85c9 Replaced a few tabs with spaces like everywhere else. 2016-10-24 15:39:06 +02:00
yueh 581822b234 Fixes #2499: Tiny TNT model and hitbox not aligned.
Fixes entity renderer translating it 1/4 block to high compared to the
hitbox.
Fixed the hitbox being either a bit too small or too large depending on
the used constructor.
Updated the model for tiny TNT to be a bit more compact.
2016-10-24 13:15:46 +02:00
yueh 0dcdc2e265 Placed github related files into .github
Moved CONTRIBUTING.md to .github
Added an ISSUE_TEMPLATE.md
2016-10-24 11:56:21 +02:00
yueh 31ce7882b8 Update .gitignore to include the .github folder 2016-10-24 11:55:35 +02:00
yueh a1ae91af76 Closes #2501: Hide substitution buttons for processing
Hides the substition button in processing mode to avoid confusion as it is
not usable there as well as not showing it as part of the tooltip.
Further it ensures that patterns are encoded with the setting being
disabled, should we add the support later without breaking existing
setups.
2016-10-24 11:39:59 +02:00
Sebastian Hartte 30a978b614 Update Forge version. 2016-10-22 17:13:01 +02:00
Sebastian Hartte 364872d75b Fixes some slab issues. 2016-10-22 17:13:01 +02:00
yueh 0177f14051 Fixes #2312: Fixes AEBaseContainer click handling.
Break the loop instead of returning to allow the transfer to still cleanup
the leftovers afterwards while keeping the current behaviour.
2016-10-22 15:10:12 +02:00
yueh 83ac99da74 Fixes #2496: Removed potentially superfluous list copy. 2016-10-22 12:32:53 +02:00
Sebastian Hartte 87cebc3e3f Fixes #2433: Readded decorative slabs. 2016-10-21 16:27:17 +02:00
Sebastian Hartte 4b607d8fc8 #2489: Use a default vertex format for the custom lightmap in the cube builder as well. 2016-10-21 13:44:26 +02:00
shartte 5b4c3cfdc7 Fixes link to nightly builds. 2016-10-20 20:09:07 +02:00
Sebastian Hartte ec4bc86266 #2438: Added Tesla support with same conversion ratio as RF. 2016-10-20 00:13:45 +02:00
Sebastian Hartte 5578aba8c8 Removed unused imports as well. 2016-10-19 23:39:14 +02:00
Sebastian Hartte de3a4afac1 Removed unnecessary getCaps 2016-10-19 22:04:28 +02:00
Sebastian Hartte a72c97e666 #2438: Implemented forge energy capabilities. Removed other disabled energy units for the time being. 2016-10-19 20:57:59 +02:00
Sebastian Hartte 433d575fd4 Fixes #2467: Straight connections for glass and dense cables are now constrained to the requested connection type on both sides. 2016-10-18 23:47:35 +02:00
Sebastian Hartte 6cdcd8ccc9 Trying to fix #2489: Always use the BLOCK VertexFormat for fullbright quads, and try to disable diffuse lighting for them. 2016-10-18 23:06:54 +02:00
Sebastian Hartte d432a6eb89 Updated Forge and Mappings. 2016-10-18 23:03:59 +02:00
Sebastian Hartte c333da8fa3 Fixes #2481: Forgot models for PartCableAnchor. 2016-10-18 21:06:14 +02:00
Sebastian Hartte 1786a3c069 Fixes #2451: Removed dependency from ModelResourceLocation for Server. 2016-10-18 08:43:38 +02:00
Sebastian Hartte 35542207d8 Fixes #2471: PacketClick processing on the server was broken by the fix for #2463 2016-10-18 00:32:06 +02:00
Sebastian Hartte e5decb1325 Fixes #2466: Placement sound for cables / parts was not played back to the player doing the placement. 2016-10-18 00:21:59 +02:00
yueh 41b8754130 Fixes #2484: Return a copied itemstack to prevent forge from consuming it. 2016-10-17 12:31:55 +02:00
Sebastian Hartte dacce3e7bd Fixes #2470: Implement rendering of the crafting output for encoded patterns when shift is being held. 2016-10-16 23:51:09 +02:00
Sebastian Hartte c427fa04a7 Fixes #2472: Off by when selecting texture for channels >= 5. 2016-10-16 22:27:21 +02:00
shartte eac94ac6b7 Added information on nightly builds to README 2016-10-16 19:40:30 +02:00
Sebastian Hartte 4102f7b8f5 Fixes #2447: Rotate textures for straight cable connections. 2016-10-15 15:19:22 +02:00
Sebastian Hartte efaf308a94 Fixes #2465: Disable use of blocks that have extended block state for facades since we have no way of actually providing the extended block state. 2016-10-15 14:32:25 +02:00
Sebastian Hartte b679079a5a Updated JEI. 2016-10-15 14:31:54 +02:00
Sebastian Hartte 8e7dadf7e9 Fixes #2430: IOrientableBlock somehow went missing from CGAs. 2016-10-15 13:50:10 +02:00
Sebastian Hartte ea8c02b591 Implemented translucent facades. 2016-10-15 13:40:41 +02:00
Sebastian Hartte 9c69352f9a Fixes #2463: Fixes issues with shift-right-clicking tools into the air. (null-sides weren't supported). 2016-10-15 13:23:45 +02:00
Sebastian Hartte 877f87afe4 Fixes #2414: Sky Compass not respecting placement face. 2016-10-15 13:13:19 +02:00
Sebastian Hartte c590e7f6e6 Fixes #2377: Paint blocks now render correctly. 2016-10-15 11:50:55 +02:00
Sebastian Hartte 070b35f3db Clarified use of slight face offset. 2016-10-15 00:52:27 +02:00
Sebastian Hartte 7c8ee24f8c Renamed QNB's getConnections to make more sense. 2016-10-15 00:47:45 +02:00
Sebastian Hartte 7761a37d59 Fixes #2431: Implemented multi block rendering for quantum network bridge. 2016-10-14 22:59:14 +02:00
Sebastian Hartte 202dff3a96 Fixes #2376: Implemented coloring on color applicator. 2016-10-14 00:08:42 +02:00
Sebastian Hartte cfbc6b4543 Modified spatial cells such that they anchor the spatial dimension @ 0,64,0.
Fixes #1712
2016-10-13 20:55:46 +02:00
Sebastian Hartte e82641760b Implemented Biometric Card Hash display. 2016-10-12 23:55:08 +02:00
Sebastian Hartte 2b1c11b0bb Fixes #2455: Avoid using glPushAttr 2016-10-11 21:22:55 +02:00
yueh 69e1c5433f Fixes #2454: Incorrect bottom edge texture rotation on pylons on X axis 2016-10-11 15:38:47 +02:00
Sebastian Hartte 55d66be929 Fixes #2448: Facades items and blocks now use the same algorithm to determine the block texture.
Facades will now use the correct side to determine the texture to use, and will fall back to general quads.
Fixed crafting of facades on the server by removing the check for model simplicity.
2016-10-09 21:59:56 +02:00
Sebastian Hartte 5de15d5b2c Fixes #2423 2016-10-09 19:48:47 +02:00
Sebastian Hartte 3f6607028d Fixes #2432: New model for wireless access point which includes status indicators, correct model rotation, and lit/unlit torch variants. 2016-10-09 19:43:01 +02:00
Sebastian Hartte 6369cef465 Fixes #2446: Allow Platform.pickRandom to work with empty lists. 2016-10-09 12:01:31 +02:00
Sebastian Hartte 8e7d63dccb Fixed biome registration for spatial storage cells.
Fixed matrix block conversion to air when transferring.
Fixed biome initialization of new chunks.
2016-10-09 01:51:41 +02:00
Sebastian Hartte 0ed8a4c3e8 Fixed spatial sky rendering. 2016-10-09 00:53:17 +02:00
Sebastian Hartte d9885bd4a8 Fixes #2429: Inscriber TESR 2016-10-09 00:03:29 +02:00
Sebastian Hartte 04ec9ba749 Moving interaction to be server-side only fixes issues with memory cards. Fixes #2425 2016-10-08 20:37:11 +02:00
Sebastian Hartte 0b261aac24 Fixes #2427: Don't render security station UI on top of the block when it's offline. 2016-10-08 13:32:17 +02:00
Sebastian Hartte 8df692053a Added JEI integration (#2436). 2016-10-08 13:06:21 +02:00
thatsIch b8344da734 Added note about run configuration in IntelliJ with latest version 2016-10-05 12:34:19 +02:00
Sebastian Hartte 04e4fd10a5 Fixes lumen paintball recipes.
Fixes flux stairs.
Fixes anything that requires a wrench (network tool) or cutting knife (cable anchors).
2016-10-05 00:51:27 +02:00
yueh 4cb7a9e6f4 Fixes #2434: Set default pickup delay to custom entities. 2016-10-04 19:18:56 +02:00
Sebastian Hartte 2e2bb12671 Fixes #2375: Recipes should now work. Definitely needs more fine-tuning. 2016-10-04 00:38:58 +02:00
Sebastian Hartte 9b51d54403 Fixes #2415: Renaming remaining items/blocks. 2016-10-03 23:06:57 +02:00
Sebastian Hartte ac0f32b21f Bumped to rv4. 2016-10-03 22:17:53 +02:00
Sebastian Hartte 0720d50f2f Refactored hit particles on cable buses and made the code much nicer. 2016-10-03 21:46:40 +02:00
Sebastian Hartte 8ee6f58656 Fixes #2421: Reimplemented addHitEffects so that block break particles show up again. 2016-10-03 21:34:58 +02:00
Sebastian Hartte 744ac69fb7 Fixes #2419: Particle Textures are required, or the block damage model will crash. Also fixed an issue with textures not being propagated for UVL quads. 2016-10-03 21:34:01 +02:00
Sebastian Hartte de4acb6098 Fixes #2416: Removes an unused model and fixes breaking particles. 2016-10-03 20:04:12 +02:00
Sebastian Hartte 9eb093d865 Fixes #2392: Using the Minecraft version of Matrix4f will not set it to identity in the constructor, causing the item to disappear. 2016-10-03 17:32:57 +02:00
Sebastian Hartte 03c3dfc3c8 Fixes #2413 2016-10-03 17:09:55 +02:00
yueh f0e3c6eae9 Fixes #2411: Use correct direction for compass location 2016-10-03 16:11:07 +02:00
yueh 2e6f15655c Fixes #2412: Wrongly declaring SkyStone and SkyStone chest as having subtypes. 2016-10-03 16:06:55 +02:00
yueh ce454e99be Fixes item export failing due to minecraft returning null instead AIR. 2016-10-03 15:19:15 +02:00
Sebastian Hartte 8087b58851 Fixes #2395 by using new clickType argument. 2016-10-03 14:04:37 +02:00
Sebastian Hartte ecc447ab2c Removed unused field. 2016-10-03 13:12:14 +02:00
Sebastian Hartte 21f4d5e6b6 Added the "rainbow" effect to molecular assemblers. 2016-10-03 12:57:06 +02:00
Sebastian Hartte 5493757d25 Fixes #2406: Not 100% satisfied with how it renders the item being crafted yet, but more cented than before. 2016-10-03 03:29:52 +02:00
Sebastian Hartte 6933173957 Fixes #2407 2016-10-03 03:00:58 +02:00
Sebastian Hartte 044a9f3b8e Fixes #2379: Changed texture of smooth sky stone chest to remove z-fighting between the overlapping parts. Added block-state files for both chests to fix both loading error logs and add a particle texture.
Fixed small alignment issue for the knob in the item model.
Fixed orientation issue of the chest (this only fixes north/south).
2016-10-03 02:52:32 +02:00
Sebastian Hartte af6310b13e Fixes #2391. Initial forward/up could never be null thus the initial orientation was never set. 2016-10-03 00:33:43 +02:00
Sebastian Hartte 2ab1fc0adf Removed usage of GL11 in favor of using GlStateManager. 2016-10-03 00:23:45 +02:00
Sebastian Hartte 62f224d77b Fixes network tool tooltips. 2016-10-02 23:55:37 +02:00
Sebastian Hartte 0a7df79952 Fixes tooltip in Crafting CPU. 2016-10-02 23:43:17 +02:00
Sebastian Hartte 8c8bd03c0b Fixes two small rendering issues (one being use of GL11), the other being missing depth flag for tab buttons. 2016-10-02 23:39:02 +02:00
Sebastian Hartte e1237d6b46 Removes unnecessary state setting. 2016-10-02 23:05:13 +02:00
Sebastian Hartte e3ab7488ff Fixes #2402: Tooltips were being drawn twice for ME GUIs. 2016-10-02 22:58:14 +02:00
Sebastian Hartte a59cef87de Fixes #2405: Apparently push attrib causes issues (somewhere it messes with the GL state and the internal GL state keeping by MC somewhere).
Fixes #2404: Most state flags are now automatically taken care of by RenderItem.
Fixes #2409: Fixes text being slightly offset to the top.
2016-10-02 22:54:28 +02:00
Sebastian Hartte f316c93e38 Fixes #2403: Force stack size to 1 for removing the stack size display in the crafting amount window. 2016-10-02 21:30:13 +02:00
Sebastian Hartte a22cc2cedc Another fix for #2398 since the auto rotator doesn't actually apply to the built-in model. 2016-10-02 16:17:28 +02:00
Sebastian Hartte 18ea568e2a Fixes #2398 by switching to use of the auto rotation 2016-10-02 13:31:37 +02:00
yueh c19d9d49f9 Deleted obsolete invtweaks annotation. 2016-10-02 02:17:18 +02:00
yueh badf123946 Gradle cleanup
Removed all outdated dependencies, repositories, etc.
This allows us to have a clean state to build upon without having to care
about obsolete things.

Removed the deobf jar since forge can handle normal ones just fine since 1.8.9.

Fixed build errors during javadoc creation due to missing symbols caused
by ForgeGradle breaking gradle conventions and not providing the
necessary dependencies.
2016-10-02 02:16:31 +02:00
yueh d4b85cde75 Fixed broken imagelink for Travis CI badge 2016-10-02 01:43:49 +02:00
Sebastian Hartte fdee124875 Fixes #2396 by using channels=0 for unpowered cables. 2016-10-02 00:42:13 +02:00
yueh 0408aadabc Changed badge to use Travis CI as build indicator 2016-10-02 00:39:46 +02:00
Sebastian Hartte 895a1a18d8 Re-Added original Waila integration and fixed compilation issues against new API. 2016-10-02 00:35:38 +02:00
Sebastian Hartte b4ab401f98 Fixes dependencies and enables installation of JEI and Waila. 2016-10-01 23:53:45 +02:00
Sebastian Hartte 84ac312ba9 Fixed translations for items and blocks. 2016-10-01 16:08:27 +02:00
Sebastian Hartte 7cdbe431e5 Slight clean up for the PartType enumeration. Extracted reflection logic for finding part models into a separate class. Removed unnecessary fields and clarified constructor argument. 2016-10-01 16:01:22 +02:00
Sebastian Hartte 1d0606947b Added capability support to AEBaseInvTile. 2016-10-01 01:53:48 +02:00
Sebastian Hartte 754a1f1de3 Added super calls back in to re-enable attached capabilities. 2016-10-01 01:24:20 +02:00
Sebastian Hartte 882f240307 Implemented capabilities for cable buses in a way that dispatches the capabilities to the parts on the appropriate attachment point. Implemented the capabilities for interface parts and tiles to provide a proof of concept. 2016-09-30 23:53:54 +02:00
Sebastian Hartte 8666936646 Updated forge and MCP mappings to latest version. 2016-09-30 22:13:57 +02:00
Sebastian Hartte e1455df108 Fixes drawing the dark overlay over slots when item UIs are unpowered. 2016-09-30 20:25:11 +02:00
Sebastian Hartte fdd75ef3a8 Fixes how several UIs draw their item slots. 2016-09-30 20:21:43 +02:00
Sebastian Hartte 928f623f7e Since the functionality for fixed width tooltips was unused, switched to utilizing standard tooltip rendering. This fixes issues with the screen overlay being miscolored and other item tooltips being broken. 2016-09-29 22:54:54 +02:00
Sebastian Hartte dde6e9b9d4 Textures for crafting and normal terminal were flipped. 2016-09-29 22:19:55 +02:00
Sebastian Hartte 2de1842445 Implemented facade rendering on the cable bus. 2016-09-29 21:47:50 +02:00
yueh 71396637e3 Organise imports 2016-09-17 17:05:07 +02:00
yueh 035dc244ff Added missing @Override annotations 2016-09-17 17:00:10 +02:00
yueh 2e7efb3660 Added missing newlines 2016-09-17 16:57:09 +02:00
yueh 329d34f8e5 Fixes light blue and gray cables due to renaming 2016-09-17 16:38:12 +02:00
yueh 93145750c0 Added missing file headers 2016-09-17 16:00:37 +02:00
yueh 067da3fec0 Deprecated IExternalStorageHandler in favour of IItemHandler 2016-09-17 15:27:23 +02:00
yueh 7ae4cc86c7 Added TODO for API classes needing investigation 2016-09-17 15:22:16 +02:00
yueh 860636d067 Removed deprecated API methods 2016-09-17 15:08:47 +02:00
yueh f185bc07a6 Capitalised enums to match conventions 2016-09-17 15:06:00 +02:00
yueh 2d1d29eb37 Removed AE1 API artifact for bees 2016-09-17 14:49:40 +02:00
yueh 1102b89009 Added missing file headers 2016-09-17 14:48:31 +02:00
yueh 86e4da8a7b Updated Readme (#2374)
Added some additional details about the translation process.
2016-09-16 23:35:55 +02:00
yueh a8c5e729d4 Updated build system and Travis CI config 2016-09-16 15:07:53 +02:00
Sebastian Hartte d48e7e1f6d Implemented spatial pylon rendering. 2016-09-15 22:12:53 +02:00
Sebastian Hartte 653ba814cc Reverted debugging code. 2016-09-14 00:52:43 +02:00
Sebastian Hartte 7584d00681 Added crafting monitor item TESR (refactored out item rendering of that kind into a shared class).
Fixes server startup issues due to sidedness.
2016-09-14 00:50:02 +02:00
Sebastian Hartte dc88dda1f2 Removing openjdk8 for now since Travis does not support it out of the box. 2016-09-13 22:08:37 +02:00
Sebastian Hartte 39a3f51d27 Testing against OpenJDK 8 and Oracle JDK 8 2016-09-13 21:47:47 +02:00
Sebastian Hartte 05f4f6ed92 Set up a basic travis CI build. 2016-09-13 21:30:33 +02:00
Sebastian Hartte 9c561d550b Fixes API compilation problem. 2016-09-13 19:58:38 +02:00
Sebastian Hartte 11625ea240 Remove custom packet send to server for part placement since this is triggered again on the server automatically by forge. 2016-09-12 20:52:32 +02:00
Sebastian Hartte d79514e4a0 Fixes missing particle texture (causes crashes in certain scenarios like breaking the block with a pickaxe). 2016-09-12 01:50:12 +02:00
Sebastian Hartte 6a5add38e2 Fixes incorrect onItemUse declaration, which in turn fixes the color applicator. 2016-09-12 01:46:55 +02:00
Sebastian Hartte 5b6ed0cfd0 First pass of implementing rendering for crafting cubes (#7) 2016-09-12 01:11:38 +02:00
Sebastian Hartte f35a951b09 Restored original replicator card texture. 2016-09-10 18:39:19 +02:00
Sebastian Hartte 99b73957c1 Energy Cell fill property had incorrect range (Fixes #10) 2016-09-10 17:43:49 +02:00
Sebastian Hartte 73b9e83b9f Added block models for debug blocks. Fixes #6. 2016-09-10 17:36:33 +02:00
Sebastian Hartte 9246639709 Fixes missing model exceptions being swallowed by Forge due to our model customization step. 2016-09-10 13:41:56 +02:00
Sebastian Hartte 3403e47b02 Fixes vibrant quartz glass using the wrong model.
Fixes matrix frame not having a model (the block is transparent though).
Don't register an item model for the invalid part anymore.
Make variant registration for items more explicit.
This fixes #5
2016-09-10 13:19:21 +02:00
Sebastian Hartte 418e44390d Added models for debug items. Fixes #4. 2016-09-10 11:09:31 +02:00
Sebastian Hartte 1c93cc8f15 Fix locked monitor textures. 2016-09-10 01:01:47 +02:00
Sebastian Hartte 7e027da804 Reimplemented cable and parts rendering. 2016-09-10 00:56:28 +02:00
Sebastian Hartte 0b756708d4 Improvements on the item model for facades, disabled 3d in gui to improve lighting. 2016-08-28 13:25:31 +02:00
Sebastian Hartte 5313d61490 Added item models for facades. 2016-08-28 12:10:40 +02:00
Sebastian Hartte 77cb3d8b92 Added light detector item and block model. 2016-08-27 18:45:25 +02:00
Sebastian Hartte 81984b3ad7 Implemented ME chest item + block model. 2016-08-27 18:12:54 +02:00
Sebastian Hartte 5465527ea0 Added item texture and default block texture for molecular assembler (no "active" version yet). 2016-08-27 14:18:47 +02:00
Sebastian Hartte 974b910acc Added item models for all crafting multiblock parts. (And their block counterpart textures). 2016-08-27 13:38:11 +02:00
Sebastian Hartte 154f9d9ebb Added spatial pylon item model (and textures for connected texture blocks). 2016-08-27 13:23:45 +02:00
Sebastian Hartte cafacc8dd4 Initial models (block/item) for QNB (no multi-block yet). 2016-08-27 13:16:27 +02:00
Sebastian Hartte 77dff3ab32 Implemented crank TESR.
Fixed crash bug in model rotator if state wasn't set.
2016-08-27 13:05:41 +02:00
Sebastian Hartte f0ee7939a2 Implemented item models for all cable bus parts (except facades). 2016-08-27 12:23:08 +02:00
Sebastian Hartte cb9185fb3f Implemented crafting terminal and illuminated panels item models. 2016-08-27 10:50:54 +02:00
Sebastian Hartte 63a311f601 Interesting enough, in 1.7, everything that derives from AbstractPartDisplay swaps the dark / medium variants of the front texture. 2016-08-27 10:39:43 +02:00
Sebastian Hartte 730f5c5d6d Added conversion monitor item model. 2016-08-27 10:30:41 +02:00
Sebastian Hartte bff03d695b Annihilation plane model. 2016-08-27 10:10:26 +02:00
Sebastian Hartte 686832ebf8 Fixes an issue with detecting straight cable connections. 2016-08-27 00:31:02 +02:00
Sebastian Hartte b42300a4da Fixes glass cable Z-fighting by making connection points not overlap the center point, as well as removing the unnecessary north/south faces. 2016-08-27 00:10:06 +02:00
Sebastian Hartte fb04890a50 Fixes the cable bus obstructing lighting and some crash issues when placing/breaking cable buses that have not been assigned a bus container yet. 2016-08-26 23:34:18 +02:00
Sebastian Hartte 1246eb8bdf Improved cable item models to be closer in line with AE had in 1.7.
Added cable anchors.
2016-08-26 23:33:49 +02:00
Sebastian Hartte b62d3ec139 Slight style fix for controller models that also fixes a bunch of startup warnings due to self-referential particle textures. 2016-08-26 23:33:36 +02:00
Sebastian Hartte 0fe53a0d0e Added missing security station files. 2016-08-26 23:32:57 +02:00
Sebastian Hartte 7c4e810c8d Implemented a fix for #35 by implementing getUpdateTag / handleUpdateTag using the existing update package logic. 2016-08-26 23:25:48 +02:00
Sebastian Hartte 71a88aa668 Implemented item models for cables. 2016-08-26 19:07:15 +02:00
Sebastian Hartte a5398240a0 Removed unused test files. 2016-08-26 17:02:17 +02:00
Sebastian Hartte 0ab4309c52 Fixes controller item model. Apparently item models dont like using a multipart blockstate file. 2016-08-26 16:59:54 +02:00
Sebastian Hartte 9fe692c9bd Fixes broken controller rendering. 2016-08-26 16:55:01 +02:00
Sebastian Hartte 96a9e2f558 Fixed side-scoping issue that prevented the server to start up. 2016-08-26 14:02:24 +02:00
Sebastian Hartte b28d468935 Implemented security station rendering. 2016-08-26 13:59:59 +02:00
Sebastian Hartte 0316c1de58 Fixed broken name of TileStationSecurity -> TileSecurityStation 2016-08-26 13:51:38 +02:00
Sebastian Hartte f3e10b1851 Implemented drive models. Fixed issues with the UVL model loader using a null model loader (and thus crashing). 2016-08-26 13:46:52 +02:00
Sebastian Hartte 576923a2f2 Implemented the sky compass. 2016-08-26 13:07:37 +02:00
Sebastian Hartte d1ccb126b6 Fixed issues with interface file names. 2016-08-26 13:07:12 +02:00
Sebastian Hartte 210d5d2602 Merge fixes for interface. 2016-08-26 12:42:51 +02:00
Sebastian Hartte c6b9926d7f Restored glass model that implements the uv shift.
Added a way to register built-in models to support this.
2016-08-26 12:42:21 +02:00
Sebastian Hartte ea6c892ec0 Fixes startup warning for missing block, and fixes orientation of stair item models. 2016-08-26 12:42:21 +02:00
Sebastian Hartte 5211bf4c98 Fixes most of the item model issues after registry name changes. 2016-08-26 12:42:21 +02:00
Sebastian Hartte 85cf7d7981 Makes quartz fixture resources and class consistent with the registry name. 2016-08-26 12:42:21 +02:00
Sebastian Hartte c0b0687fd3 Makes naming of security station related classes/assets consistent with registry name. 2016-08-26 12:42:21 +02:00
Sebastian Hartte 0df62abebd Adds the ability to force a block to use a custom item model. 2016-08-26 12:42:21 +02:00
Sebastian Hartte dbaa0a9310 Fixes an issue where a custom item model would override the block's default state model. 2016-08-26 12:42:21 +02:00
Sebastian Hartte e1e649caf7 Fixes glass rendering and item model for vibrant glass. 2016-08-26 12:42:21 +02:00
Sebastian Hartte d65263f319 Re-enabled custom dispenser behavior and added a convenience registration function for it. 2016-08-26 12:42:21 +02:00
Sebastian Hartte d831d1302f Added missing custom preInit/init/postInit functionality to the IItemBuilder. 2016-08-26 12:42:21 +02:00
shartte e276aa682f Replaced all instances of Guava's Optional type with Java 8's Optional type, as discussed in #81. (#90) 2016-08-26 12:42:21 +02:00
shartte c2a239a12f Implemented registry renaming as discussed in #70 (#89)
- Implemented registry renaming as discussed in #70 (#89)
2016-08-26 12:42:21 +02:00
shartte 6f2bbfab4c Major Refactoring of Bootstrap Code (#75)
- Refactored boostrap code:
  * Completely reworked item/block/tile registration.
  * Fixed server side startup.
  * Fixed server side startup.
  * More documentation.
  * More heavy cleanup
  * More cleanups.
  * Major refactoring of state mapping and fixes a lot of other issue related to item rendering.
  * Fixes sky chest item models (no item TESR).
  * Only use CachingRotatingBakedModel for tile entities automatically.
  Fix default rotation of quartz pillar for item model.
  * Used method reference instead of lambda for ItemMeshDefinition for multiparts.
  * Removed unnecessary IHasSpecialItemModel
  * Removed unused IconReg class.
  * Updated resource pack version.
2016-08-26 12:42:21 +02:00
shartte 66df324ef0 Implemented interface states and models (#66)
* Implemented interface states and models.
2016-08-26 11:09:49 +02:00
shartte 999401c50c Fixes corruption of the lightning particle FX that was caused by an incorrect order of vertex attributes being passed to the vertex buffer. (#43)
The other FX classes were also adapted to use the same vertex attribute ordering as the vanilla base class.
2016-08-24 19:07:54 +02:00
dpeter99 255083e00c Fixed sky stome blocks 2016-08-23 11:26:16 +02:00
dpeter99 86083712ad Item Fixes (More)
- fixed ItemCristalSeed in code please look at that if it is correct :)
- fixed stairs
- added crank item texture
2016-08-22 11:14:09 +02:00
dpeter99 d010fc9737 Fixed modells
- fixes #78
- fixed cell workbench
2016-08-22 09:28:45 +02:00
elix-x 0e2183d234 Removed unused stair classes
- Removed unused stair classes. Closes #28.
2016-08-21 10:35:01 +02:00
elix-x 3b7d1685c5 Fixed cable connections rendering, other fixes
- Fixed cable connections rendering to parts and other tiles.
- Fixed facade & anchors rendering.
- Many other parts related bug fixes.
2016-08-20 17:15:02 +02:00
elix-x d109878821 Merge remote-tracking branch 'refs/remotes/origin/1.10-rv3-rendering-vancontext' into 1.10-rv3-rendering 2016-08-20 14:39:54 +02:00
elix-x 588b5d91cc Reimplented connected textures with jsons
- Reimplented connected glass textures using jsons. @shartte can't be
done with jsons, huh?
2016-08-20 14:38:46 +02:00
elix-x 0c4cb295f3 Reverted glass blocks that used ibaked
Reverted glass blocks that used ibaked.
2016-08-20 11:54:07 +02:00
elix-x d7f32a985d Cables & parts and Baking pipeline
- Added cables & parts rendering.
- Facades got a completely new way of rendering. Anvil facades are
totally a thing.
- Added baking pipeline for simplified, highly configurable quad baking.

NOTE: Yes, there are a lot of improvements to do, bugs to fix, stuff to
add. I'm just pushing it prior to code structure change, so it does not
get lost in stashes. But it actually works!
2016-08-19 22:46:13 +02:00
elix-x 8b9743f2bf Cleaned up debug stuff
Cleaned up debug stuff from naming convention change.
2016-08-19 22:46:13 +02:00
dpeter99 c70915ffb0 Energy cell updates
- Added dense texture: fixes #65
- Removes unused cell modell (without a number)
2016-08-19 13:54:25 +02:00
elix-x b31e5f5356 Merge remote-tracking branch 'origin/1.10-rv3-rendering' into 1.10-rv3-rendering
# Conflicts:
#	src/main/java/appeng/decorative/solid/BlockQuartzGlass.java

#	src/main/resources/assets/appliedenergistics2/blockstates/QuartzGlassBlock.json
# Changed naming convention.
2016-08-19 12:49:25 +02:00
elix-x 3d2ba425ec Change of naming convention
Changed naming convention. All AE blocks, items and TEs were affected.
Most of assets were transfered, but some sill need help. Localizations
will be transfered in a separate commit.
Closes #46.
2016-08-19 12:38:21 +02:00
shartte 153b38b74c Fixes a crash bug when trying to break a block because the damage texture couldn't be generated. (#69)
Fixes another crash bug where during UVLModelLoader loading, it tried to apply tint but couldn't, because no block was available.
Also fixes a bug where the quad tint wasn't propagated and tinting didn't work.
2016-08-19 09:23:51 +02:00
elix-x 4abc60cf8e Fixed UVLLoader
Fixed UVLLoader. Well, kinda. It's waiting for something else to be
fully fixed.
2016-08-18 11:51:02 +02:00
shartte 25a5108944 Implemented Seed Growth Stages (#49)
* Implemented growth stages for the crystal items.
* Fixes the pickup delay of dropped seeds so they can actually be grown.
2016-08-16 19:01:47 +02:00
shartte 845d4da353 Implemented display of icons for MultiItem (#50)
* Implements rendering of MultiItem items.
2016-08-16 18:58:28 +02:00
shartte 838691d924 Fixes Paintball Item Rendering (#48)
* Added a way to register a custom ItemMeshDefinition for items, including registration of custom variants.

* Moved color handling for paint balls into the paint ball class and implemented the correct model selection logic for displaying the items.
2016-08-16 17:55:56 +02:00
shartte 115f73de2e Implemented Glass Blocks (#51)
* Implemented connected texture glass blocks (different approach from 1.7).
2016-08-16 16:04:31 +02:00
shartte 026de7d590 Energy Cell Item Models (#44)
* Added energy cell item models.

* Removed the client-side only interface and moved to a method in AEBaseBlock instead.
2016-08-16 15:38:53 +02:00
shartte 785e40ce3e Implemented quartz fixture model (#34)
* Implemented the actual quartz fixture model.

* Added a custom texture for the metal bits of the quartz fixture.
2016-08-16 15:38:24 +02:00
elix-x 63f426336b Fixes and cleanup
- Compile error fixes (blame @biggles2206). Fixes #53.
- UVLModelLoader is now cross compatible with vanilla (vanilla can use
uvl parents who have vanilla parents).
- Due to it, now using uvlMarker instead of .uvl.
- General code reformatting and cleanup.
2016-08-15 18:19:33 +02:00
shartte 24ddc0e574 Controller Model (#33)
* Implemented the controller models (using the UVL model loader to make the lights be fullbright at night).
2016-08-15 10:28:45 +02:00
shartte a422de6adb Fixes charger model and adds an appropriate item model. (#29) 2016-08-14 13:28:45 +02:00
shartte 7f923d7f25 Added a powered state for the crystal growth accelerator and added corresponding models. (#39) 2016-08-14 13:28:03 +02:00
shartte 5a7d099413 Added active state for vibration chamber and corresponding models. (#40) 2016-08-14 13:27:36 +02:00
shartte 53fd4de0cc Added stair blocks. (#47) 2016-08-14 13:26:53 +02:00
Thomas Saunders 8882c16cbf Move AXIS_ORIENTATION into QuartzPillarBlock 2016-08-14 10:17:50 +01:00
Thomas Saunders f2cceda471 Move AEBaseBlock.AXIS_ORIENTATION to QuartzPillarBlock
Move AEBaseBlock.AXIS_ORIENTATION into QuartzPillarBlock since it's used only there
2016-08-13 18:10:23 +01:00
shartte 92b931434e More item models (#30)
* Fixed tiny TNT item model.
* Flipped the inscriber north/south and implemented item model.
* Added several item models.
2016-08-11 13:48:36 +02:00
shartte 8ddff3f459 Fixed blocks state <-> meta conversion (#31)
-Added missing state <-> meta conversion methods to blocks. Fixes #23.
2016-08-11 11:40:34 +02:00
elix-x 2208083b03 IHasSpecialItemModel
IHasSpecialItemModel or IForgetToCommitStuff - #9?
2016-08-10 14:42:52 +02:00
elix-x 3d1d2a3468 Fixed stairs & chests rendering
-Fixed chests rendering in inventory (kinda).
-Fixed stairs rendering.
From now on, all blocks with multiple states MUST have item model.
Example stair provided (though with incorrect textures).
Relates to #9.
2016-08-10 12:10:48 +02:00
elix-x 746bca8c40 Updated forge
Updated forge.
It had some important fixes & additions.
2016-08-10 12:07:14 +02:00
elix-x 6aeec56dc0 Removed duplicated crafting things
Removed duplicated crafting things. For some odd reasons they were using
different blocks and meta at the same time. Probably somebody forgot to
do something while porting 1.7.10 -> 1.8 ;) .
Kinda relates to #9.
2016-07-25 14:53:14 +02:00
elix-x d68a7d316c What was forgotten in dc7ddfe
What was forgotten in
dc7ddfe107.
Closes #24.
2016-07-23 21:06:17 +02:00
elix-x dc7ddfe107 Merged stairs feature handler with block's one
Merged stairs feature handler with block's one.
Relates to #9.
2016-07-20 15:49:03 +02:00
elix-x 8c5d85d52a Merge remote-tracking branch 'origin/1.10-rv3-rendering' into 1.10-rv3-rendering
Merge remote-tracking branch 'origin/1.10-rv3-rendering' into
1.10-rv3-rendering
2016-07-12 20:08:36 +02:00
elix-x 7a653675de Implemented modular TESR
-Implemented modular TERS.
-Added ItemRenderable, charger example attached.
2016-07-12 20:03:54 +02:00
dpeter99 4eccb1e770 New Models
- Wireless Point
- Tiny TNT
2016-07-11 21:38:40 +02:00
elix-x 524dc52dd6 Moved F2R, added TESRs, fixed culling
-Externalized FacingToRotation.
-BlockLightDetector now uses tile based rotations.
-Added TESR methods and TESRs for chests. Can't get it to work in
inventory.
-Fixed rotation bugs involving culling and lighting. Now rotating culled
faces and normals too. Closes #21.
Relates to #9, #10 and #20.
2016-07-11 15:38:54 +02:00
elix-x d64a63992c Updated forge
Updated forge. Because forge bugs were bothering me.
2016-07-11 15:31:37 +02:00
elix-x 0809ac5625 Implemented automatic rotation
Implemented automatic rotation for all tile blocks. You can still use
facing properties in model files, if you want to.

Also, some added some fixes and improvements.
2016-07-05 19:43:51 +02:00
dpeter99 63fb23d1b6 Updated Item models 2016-07-02 17:24:27 +02:00
dpeter99 2e577edc3d Model Update 1
- Removed textures
- Readded needed ones
- Added models, blockstates
- ChargedQuartzOreBlock
- ChiseledQuartzBlock
- FluixBlock
- QuartzBlock
- QuartzGlassBlock
- QuartzOreBlock
- QuartzPillarBlock
- SkyStoneBlock.BLOCK
- SkyStoneBlock.BRICK
- SkyStoneBlock.SMALL_BRICK
- SkyStoneBlock.STONE
- tile.BlockCellWorkBench
- tile.BlockCharger
- tile.BlockCondenser
- tile.BlockCreativeEnergyCell
- tile.BlockDenseEnergyCell
- tile.BlockDrive
- tile.BlockEnergyAcceptor
- tile.BlockEnergyCell
- tile.BlockGrinder
- tile.BlockInscriber
- tile.BlockIOPort
- tile.BlockSecurity
- tile.BlockSpatialIOPort
2016-07-02 17:21:51 +02:00
elix-x 9f96b86938 Enabled block states ignoring properties
Enabled block states ignoring. File with same name as block state, but
with .ignore.json extension. Although it's json extension, it is NOT IN
JSON FORMAT!!! Each line is name of property to ignore. Refers to #10.
2016-07-01 20:19:10 +02:00
elix-x e24d166f6a Passing rotations to models
Implemented passing of rotations to models. Removed unused unlisted
properties. Included dummy grinder model. Found bugs that have to be
fixed.
Referencing #10.
2016-06-30 15:51:42 +02:00
elix-x 0be0635a8f Fixed item models.
Fixed all item models. Changed parent to "item/generated" and removed
display rotations as now they're done automatically.
Marks off ~all items in #9.
2016-06-30 14:17:22 +02:00
elix-x a2cad01c01 Moved UVLModelLoader to appeng
Moved UVLModelLoader to appeng. It's working and does not belong to test
anymore. Also updated obf reflection names.
2016-06-30 12:52:10 +02:00
elix-x d98f1e8dc3 Updated minecraft to 1.10.2
Updated minecraft to 1.10.2.
2016-06-30 12:39:39 +02:00
elix-x f1aab0f8ef Implemented models loading
Implemented models loading.
Closes #8.
2016-06-29 18:56:33 +02:00
elix-x 571db6b48b Fixed blocks & items registration
Fixed blocks & items registration to use new methods.
2016-06-29 16:00:04 +02:00
John Hannan 4c4bdff55c Merge PR #7 from MoreThanHidden/1.10-rv3-rendering - Particle Texture Atlas Added
Merge PR #7 from MoreThanHidden/1.10-rv3-rendering - Particle Texture Atlas Added.
Closes #6.
2016-06-29 15:30:08 +02:00
elix-x 03aa59521c Removed old rendering system
Removed old rendering system. Some parts may be left over, but they
won't affect testing.
1.10-R todo tag marks things to do with rendering.
2016-06-29 12:22:18 +02:00
elix-x 92753a432a Update forge to semi-stable version
Update forge to semi-stable version.
2016-06-28 20:39:39 +02:00
elix-x 84cfd4c9fc Created and tested UVLLoader
Created and tested UVLLoader. Yes, it may not conform to code standarts,
but this will be fixed later.
2016-06-28 15:24:38 +02:00
elix-x b7b5d2590c Code updated to 1.10
Code updated to 1.10. NOT 1.9.4 COMPATIBLE!!!
2016-06-25 11:00:17 +02:00
elix-x 44c86849b8 Updated workspace to 1.10
Updated workspace to 1.10. Had to update forge gradle, because of not
updated MCP.
2016-06-25 10:51:58 +02:00
elix-x 8acee98b8f Third update pass (3/?)
Last (?) update pass. AE2 can be launched and used (?) in game.

Rendering system changed again and again - rendering is NOT working, to
be rewritten and CAN be done a lot simpler.
2016-06-21 16:36:15 +02:00
elix-x 05aa6972c4 Second update pass (2/3) - 82 -> 0 errors
Second update pass which fixes all compile errors. Some parts may have
aftermath effect, hence why 3rd pass will check those maked with
"aftermath".
Errors: 82 -> 0. Mod can be launched.
2016-06-21 11:03:10 +02:00
elix-x 5498eb6d7c First update pass (1/3) - ~1400 -> 82 errors
This is first update pass, which is mainly import reorganization, name
fixes, etc... Although some parts of second were done where changes
aren't important.
Errors: ~1400 -> 82.
2016-06-19 14:43:27 +02:00
elix-x d9725a7d9b Updated API to 1.9.4
Updated API to 1.9.4. All compile errors are fixed in APENG-API.
2016-06-17 12:54:13 +02:00
elix-x 2918a1110b Updated workspace to 1.9.4
Updated workspace to 1.9.4.
2016-06-17 12:46:55 +02:00
thatsIch a4cf557b65 Update to Forge 11.15.1.1855 2016-04-27 13:08:13 +02:00
Kasama a122f939e0 Updated pt_BR.lang to match latest en_US 2016-04-27 13:07:06 +02:00
thatsIch 57771d3a81 Update to Forge 11.15.1.1747 to get access to capabilities 2016-02-16 22:43:19 +01:00
thatsIch 69e41e283d Remove old sourceJar artifact since its apparently provided 2016-02-16 22:25:31 +01:00
thatsIch 98bded8653 Use new 1.8 minecraft.coreMod attribute to let it automatically add to the manifest and runconfiguration 2016-02-16 22:24:49 +01:00
thatsIch 0c61a316ed Can generate javadocs again using gradle 2016-02-16 22:08:55 +01:00
thatsIch f3374ba509 Exclude javadocs to remove compile issues of minecraft related classes 2016-02-16 21:22:55 +01:00
thatsIch ca21da1421 Improve javadoc of the model generator 2016-02-16 21:09:43 +01:00
thatsIch aff3941729 Make the project buildable with gradlew build by externalizing the model generator and expose it as an interface 2016-02-16 21:06:59 +01:00
thatsIch 8383715892 Re-add JUnit 2016-02-16 21:00:12 +01:00
thatsIch 78a3cf90ee Update Gradle from 2.7 to 2.11 2016-02-16 20:08:11 +01:00
thatsIch 372d2a8386 Reduce script loading time by excluding non important parts regarding external dependencies or mods 2016-02-16 19:54:28 +01:00
thatsIch 169624f45e Prioritize JCenter over Maven Central for dependency resolution 2016-02-16 19:51:33 +01:00
yueh 89a0f12dc4 Updated to minecraft 1.8.9 2016-01-10 01:58:42 +01:00
JJN fdfc373181 fixed #2090
fixed #2090
2016-01-09 23:24:03 +01:00
Adaptivity fdd16d8876 Ore Dictionary support for recipes
Added missing changes to oredict.recipe
2016-01-09 23:23:50 +01:00
Florian Nücke cff5e7b388 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-09 23:23:02 +01:00
yueh 62aa13751b API version will be replaced during build with the correct rv. 2016-01-09 23:19:10 +01:00
yueh 927ecc015b 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-09 23:17:25 +01:00
yueh 977c9ea70f Merge cleanup 2016-01-01 02:59:20 +01:00
yueh b62ff9898f Interfaces now slow down with failed crafting attempts.
Cleanup of unneeded tracking of failed attempts of MultiCraftingTracker.
Followup of #1905
2016-01-01 02:56:07 +01:00
yueh 02ac8cf220 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.
2016-01-01 02:55:36 +01:00
Wilhelm Schuster 242c05266f Update and extend German translation
Add translated achievements.
2016-01-01 02:45:21 +01:00
yueh f84b9a7e1d All parameters on one line (for now)
Easier picking of 1.7 changes
2016-01-01 02:02:05 +01:00
yueh e08ab38c52 Added missing annotations 2016-01-01 01:51:10 +01:00
yueh 98234f9935 Use qualified access 2016-01-01 01:50:28 +01:00
yueh 7134e851e4 Use final 2016-01-01 01:49:45 +01:00
yueh e5d6a40511 Always use {} 2016-01-01 01:49:05 +01:00
yueh ab689f2a48 Code format 2016-01-01 01:48:15 +01:00
yueh 68c3ea5ae9 Organize imports 2016-01-01 01:47:22 +01:00
yueh 72923cadb4 Updated buildscript 2016-01-01 01:46:06 +01:00
yueh 377c7a1c39 Added missing class 2016-01-01 01:45:22 +01:00
AlgorithmX2 71afa9bf53 1.8.8 + deleted all integration can be recovered later or something. 2015-12-31 17:19:44 -06:00
yueh 2e51ea5f78 Always use {} for statements 2015-12-24 02:11:17 +01:00
yueh 4a486673f6 Access using qualified this 2015-12-24 02:10:22 +01:00
yueh a6ee559723 Final fields, params and variables 2015-12-24 02:09:38 +01:00
yueh 99215e1701 Organized imports 2015-12-24 02:07:03 +01:00
yueh 15664b2822 Fixed some messed up refactoring 2015-12-24 02:05:39 +01:00
yueh c9e8a6e939 Formatted code 2015-12-24 02:03:16 +01:00
yueh e94a0cfccf 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-12-24 01:59:13 +01:00
XFRGod f054bd699b 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-23 14:43:49 +01:00
yueh 3a0eafce3c 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-23 14:43:30 +01:00
XFRGod daf2587140 Update hu_HU.lang
Okay now it's absolutely 100% done and I'm officially dead.
Onto EnderIO and Botania then!
2015-12-23 14:42:28 +01:00
XFRGod 18bf78b379 Update hu_HU.lang 2015-12-23 14:42:05 +01:00
yueh f2d9a7312b Exception during GridConnection now reports the machine and side. 2015-12-23 14:41:56 +01:00
yueh f9835e589a 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-12-23 14:41:32 +01:00
thatsIch 18d10e4cc4 Fixes #1995: Allows creation of version checker config file after start up 2015-12-23 14:39:42 +01:00
yueh 9fd183900a Fixes #1983: WorldData cleared too early when still needed. 2015-12-23 14:39:25 +01:00
thatsIch e922bf02d4 Fixes #1973: 9th slot of ME Interface ignored work 2015-12-23 14:38:26 +01:00
bakaxyf faaff58fde Update zh_CN.lang
1728f683c3 d893e52eb0 24224a450b
2015-12-23 14:38:17 +01:00
yueh 2521f11a40 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-12-23 14:37:49 +01:00
yueh 1e7126f98e 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-12-23 14:34:28 +01:00
thatsIch 888b3e5600 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-12-23 14:32:53 +01:00
thatsIch 7dee5699cf sort modifier 2015-09-30 14:27:21 +02:00
thatsIch ebda927fb5 Add this qualifier 2015-09-30 14:26:54 +02:00
thatsIch efecd4b8c1 Constant array init 2015-09-30 14:25:59 +02:00
thatsIch 2f65d41cd1 Javastyle array 2015-09-30 14:25:28 +02:00
thatsIch 8b3a954f73 final variables and parameters 2015-09-30 14:24:44 +02:00
thatsIch 059523f543 Reduce scope of variables 2015-09-30 14:22:21 +02:00
thatsIch dca09fe0a6 Javadoc issues 2015-09-30 14:21:12 +02:00
yueh 3a30ca7570 ItemList refactoring
Splitted the ItemList and MeaningfulIterator into an item and fluid
version.
Added an IdentityHashMap as additional item layer to the ItemList for a
faster access.
Refactored FluidList, findFuzzy will now return the same fluid instead of
an empty collection.
2015-09-30 14:18:18 +02:00
thatsIch 71223a9d58 Remove base module 2015-09-30 14:17:15 +02:00
thatsIch 2d71b0e34a prefer isEmpty over length() == 0 2015-09-30 14:16:03 +02:00
thatsIch 430b33b7a3 Replace with array initializer
this can be done through http://docs.oracle.com/javase/specs/jls/se6/html/arrays.html#10.6
2015-09-30 14:15:53 +02:00
thatsIch 9d35f65e76 Remove unused imports 2015-09-30 14:14:50 +02:00
thatsIch 209298bb4d Remove redundant type casts 2015-09-30 14:14:12 +02:00
yueh 3b495c35d7 Fixes #1905: Export bus now considers failed crafting requests
The export bus will now no longer speed up, if more than 1 of the last
crafting requests failed and slow down, if more then 5 failed.

Some code cleanup and moved the custom iterator into the helper package
as it is clearly related to the craftingtracker and not the export bus.
2015-09-30 14:03:31 +02:00
yueh c96cf10c86 Fixes 1896: Only update a monitor if the text would change 2015-09-30 14:03:20 +02:00
yueh 03073081f8 Updated README.md and CONTRIBIBUTING.md 2015-09-30 14:00:39 +02:00
yueh 174818c6d8 Fixes 1878: Now saves worlddata more reliable. 2015-09-30 14:00:32 +02:00
yueh 97b7583ff2 Fixes incorrect handling of prioritized inventories
Prioritized inventories are not longer used twice for storing leftover
items and thus finally reporting twice the amount of storable items when
they are the only possible option to store something.

Also fixes import buses now respecting the amount of storable items inside
the network instead of trying to place the exported items back and failing
on any restricted inventory, potentially voiding the overflow.

Fixes #1892
2015-09-30 13:52:08 +02:00
asd0210a 73f928d57a zh_tw.lang Updated 2015-09-30 13:52:01 +02:00
yueh 0d25b76b77 First iteration of making integrations typesafe 2015-09-30 13:51:47 +02:00
yueh cdcba63c2d Fixes #1865: Spawn overflow items into the world 2015-09-30 13:42:41 +02:00
yueh ef6bc3e58f Changed the interface to 9 slots to be consistent with every other machine 2015-09-30 13:42:31 +02:00
yueh 0ce551589e Added a missing whitespace and removed duplicate ones. 2015-09-30 13:42:14 +02:00
Mazdallier f89f79d71c Update fr_FR.lang 2015-09-30 13:41:25 +02:00
thatsIch 0d312f91af Fixes #1850: Fixed support for second optional output of the AE2 Grindstone 2015-09-30 13:41:15 +02:00
thatsIch 468cb4e9df Fixes #1588: Charged Certus Quartz Ore was given a wrong name 2015-09-30 13:40:03 +02:00
yueh 6a2056562b Fixed the order craftinglinks are notified for the last item.
Fixes #1833
2015-09-30 13:39:24 +02:00
yueh 84fa5a38e0 Reorganizes the recipes in a more reasonable way.
The recipes are now structured into multipe subfolder and split into more
distinct files, so the names are more appropriate and are better at
hinting which items the actually contain.

It also extends the RecipeResourceCopier to now handle the folder
recursively and extract all subdirectories and their files.

"import=" is currently requiring a relative path to the root directory
of the recipes. This would require a larger rewrite/refactoring, thus it
is kept for now until a potentially later changer.

This reverts splitting the oredict entries into their own directory and
moves them back into the recipes folder, as it currently is causing a
couple of issues like not being able to resolve the aliases or is not
working indev. But to keep it seperate it is now its own recipe file.

Fixes #1791
Reverts #1635
2015-09-30 13:39:09 +02:00
yueh 621952e37d Closes #1283: Add custom Callable to prevent memory leaks 2015-09-30 13:37:35 +02:00
yueh 20a6e7631f Fixes #1810: Removes a CompassReader once the world is unloaded.
This should no longer keep a reference to a World around and potentially
keep them loaded.
Also added a finalize() to CompassRegion to ensure the file is closed on a
GC.

Some cleanup regarding member order, final, etc
2015-09-30 13:33:06 +02:00
yueh 851878cf18 Fixes 1481: Not using the right itemcount in a few cases 2015-09-30 13:27:29 +02:00
yueh 3a6001e18f Wrong culling direction when rendering inscriber
Fixes #1806
2015-09-30 13:27:20 +02:00
thatsIch 29a55f914b Fixes #1786: Locale critical code now uses the english local for transmission. Fixes Turkish Problem.
Applied English Locale where localization is not expected as in internal recipe handling and IMC handling, basically which interacts with public API where we either require to enforce the incoming text with regex ([a-z0-9]) or just expect proper usage of the API, but with just using upper cases in recipe files it would break in Turkish Locale like

ALIAS

another option would have been to use `equalsIgnoreCase` in some cases, but not all applicable
2015-09-30 13:26:56 +02:00
yueh 8fc62faf30 Fixes #1781 Do not crash after the tileentity was removed 2015-09-30 13:25:47 +02:00
yueh 465f9efbd5 Fixes #1481: Updated cell itemcount when empty 2015-09-30 13:22:26 +02:00
yueh d26caa5f8b Fixes #1601: Do not allow 0 as stacksize for recipes 2015-09-30 13:20:50 +02:00
yueh b0504f4141 Closes #1726: Added Pressure P2P tunnel (PneumaticCraft) 2015-09-30 13:19:57 +02:00
yueh 6488119318 Non static access of static members 2015-09-30 13:14:54 +02:00
thatsIch b0bb793a0e Fix compile errors 2015-09-30 13:09:58 +02:00
yueh 2a5d26b349 Organize imports 2015-09-30 13:07:27 +02:00
bakaxyf 95b50748d2 Update zh_CN.lang 2015-09-30 13:04:22 +02:00
yueh 67213462db Adds a round robin and random mode to export buses.
Resolves #85
2015-09-30 13:04:02 +02:00
yueh c5848fe323 Fixes #1710 Use the correct culling face for the meteor compass 2015-09-30 12:57:31 +02:00
yueh 373fa522be Fixes #1718 Use the correct resolver for crystal seeds 2015-09-30 12:56:47 +02:00
yueh 432724623e Fixes #1728 Mark the entity as dead before spawning overflow 2015-09-30 12:56:35 +02:00
yueh 33e2eb5a74 Fixes #1686: Let PlayerRegistry handle nonexistent players 2015-09-30 12:54:22 +02:00
yueh 37f51db0d9 Changed to immutable list to prevent direct modifcations 2015-09-30 12:52:53 +02:00
yueh 0d6f80e813 Fixes #1706 Adds a test to disable unsupported BetterStorage integration 2015-09-30 12:48:25 +02:00
thatsIch bcb4c0bc02 Fix compile errors 2015-09-30 12:47:23 +02:00
yueh c978bf90f8 Ensure that disabled parts are actually disabled and removed. 2015-09-30 12:30:47 +02:00
yueh b013f3a8fa Fixes #1648 Removes unecessary cast to BlockQuartzTorch 2015-09-30 12:22:36 +02:00
thatsIch e5ee4e0e61 Fixes #1474: Prevents crafting of disabled recipes and deletes invalid parts 2015-09-30 12:20:12 +02:00
yueh 5d34b4e182 Reset the lastUsedChannels on a gridstorage change 2015-09-30 12:09:18 +02:00
yueh d866b6c167 Removed overly defensive code and ensure GL state to be restored.
Fixes #1673
2015-09-30 12:09:06 +02:00
yueh accfc1221f Fixes #1666 Missing check for the memory card 2015-09-30 12:08:56 +02:00
yueh ca97a7a5e3 Fixes #1656 Reduces the amount of block updates a controller sends. 2015-09-30 12:08:39 +02:00
yueh b39a51a870 Fixes #1646 Save GridStorage properly 2015-09-30 11:51:59 +02:00
Cricket 8be68e9b22 Allows the automation of Vibration Chambers with lava buckets 2015-09-30 11:50:15 +02:00
thatsIch 59dbfb1452 Fixed stairs 2015-09-30 11:34:16 +02:00
thatsIch 8b921a7b79 Removed registration of layers 2015-06-26 22:50:09 +02:00
thatsIch e21dab14e5 Fixed stair rendering, still missing textures and itemblock for some reason 2015-06-26 22:44:47 +02:00
thatsIch 4e863e7d90 Removed old renamer 2015-06-26 22:13:04 +02:00
thatsIch 0e378d8ad4 Added all stairs 2015-06-26 01:06:35 +02:00
thatsIch b20afd0ffa Optimize imports 2015-06-22 18:17:14 +02:00
thatsIch 28c30c44c5 Rename IRenderHelper to ModelGenerator 2015-06-22 18:16:25 +02:00
bakaxyf cc78153fe4 Update zh_CN.lang 2015-06-22 15:38:43 +02:00
yueh 94ac69ce37 Removed meta based rotation of CGA
Fixes #1618

Conflicts:
	src/main/java/appeng/block/misc/BlockQuartzGrowthAccelerator.java
2015-06-22 15:38:32 +02:00
yueh ed47a23156 Closes #12 Added visual lock state to monitors
Some general refactoring of every monitor including panels and terminals.
Disabled glPushAttrib and glPopAttrib for StorageMonitor as this can be a
performance issue.

Conflicts:
	src/main/java/appeng/parts/AEBasePart.java
	src/main/java/appeng/parts/reporting/PartConversionMonitor.java
	src/main/java/appeng/parts/reporting/PartDarkMonitor.java
	src/main/java/appeng/parts/reporting/PartMonitor.java
	src/main/java/appeng/parts/reporting/PartPatternTerminal.java
	src/main/java/appeng/parts/reporting/PartSemiDarkMonitor.java
	src/main/java/appeng/parts/reporting/PartStorageMonitor.java
	src/main/java/appeng/parts/reporting/PartTerminal.java
2015-06-22 15:34:46 +02:00
thatsIch 07a4a8505b Fixes #1599: Removes preconditions for world data and children 2015-06-22 14:51:00 +02:00
thatsIch 863b57fc3b Improves the message generated when generating the folder for the compass data.
Outsources the encoding of the compass data into the file name
Written tests for the encoding
Did some internal cleaning of the class

Conflicts:
	src/main/java/appeng/block/solids/BlockSkyStone.java
	src/main/java/appeng/core/WorldSettings.java
	src/main/java/appeng/core/features/registries/PlayerRegistry.java
	src/main/java/appeng/core/sync/network/NetworkHandler.java
	src/main/java/appeng/core/worlddata/PlayerMapping.java
	src/main/java/appeng/core/worlddata/PlayerMappingsInitializer.java
	src/main/java/appeng/services/CompassService.java
	src/main/java/appeng/worldgen/MeteoritePlacer.java
	src/main/java/appeng/worldgen/MeteoriteWorldGen.java
2015-06-22 14:49:35 +02:00
thatsIch a62d9bfcbf Fixes wrong interface names for BuildCraft Transport
Conflicts:
	src/main/java/appeng/parts/misc/PartStorageBus.java
	src/main/java/appeng/parts/p2p/PartP2PItems.java
2015-06-18 20:12:18 +02:00
thatsIch 51ed55510c rest of BC commit 2015-06-18 20:10:37 +02:00
thatsIch 97f23cf955 Updates BuildCraft to 7.0.9
Split dependency logic on the BuildCraft modules.
Config needs to be reset, if BuildCraft was disabled actively,
because now there are 3 BC modules to be taken account of

Conflicts:
	gradle.properties
	src/main/java/appeng/facade/FacadeContainer.java
	src/main/java/appeng/facade/FacadePart.java
	src/main/java/appeng/integration/abstraction/IBC.java
	src/main/java/appeng/integration/modules/BC.java
	src/main/java/appeng/integration/modules/BCHelpers/BCPipeHandler.java
	src/main/java/appeng/integration/modules/BCHelpers/BCPipeInventory.java
	src/main/java/appeng/items/tools/ToolNetworkTool.java
	src/main/java/appeng/items/tools/quartz/ToolQuartzWrench.java
	src/main/java/appeng/parts/CableBusStorage.java
	src/main/java/appeng/parts/layers/LayerIPipeConnection.java
	src/main/java/appeng/parts/misc/PartStorageBus.java
	src/main/java/appeng/parts/p2p/PartP2PItems.java
	src/main/java/appeng/util/inv/AdaptorBCPipe.java
	src/main/java/appeng/util/inv/WrapperBCPipe.java
2015-06-18 20:09:36 +02:00
yueh 3b5b9b68ce Moved ETA to the title and also no longer display for empty jobs
Fixes #1567
2015-06-18 01:22:45 +02:00
thatsIch 13d40c922b Fixes #1559: Level Emitter with P:R alloy wire does not crash anymore
Required to implement a more advanced interface, if not done that way, the parts will update themselves recursively
2015-06-18 01:19:56 +02:00
yueh de260b5283 Splitted channeldata into two ints
Previously it did encode the current and previous used channels into the
same as well as mask it with 0xFF. Which lead to an overflow every 256
gridnodes requiring a channel. This will not happen at > 2^31

Also removes the need to bitshift them for every access.

Fixes #1510
2015-06-18 00:46:14 +02:00
thatsIch efafaedf68 Fixes #1588: Charged Certus Quartz Ore has its own oredictionary entry
Conflicts:
	src/main/java/appeng/block/solids/OreQuartz.java
2015-06-18 00:45:55 +02:00
yueh d2563de6c3 Updated eclipse formatter and import order 2015-06-18 00:44:29 +02:00
thatsIch c3e11c6cca Add IntelliJ Code-Style 2015-06-18 00:44:20 +02:00
thatsIch 8861811c93 Updated NEI to latest 2015-06-18 00:02:21 +02:00
thatsIch e6eb58bcf5 Update Invtweaks to latest 2015-06-17 23:52:22 +02:00
thatsIch 03eec78d6f Remove deprecated sameAs for blocks 2015-06-17 23:32:33 +02:00
thatsIch 0cd25428e6 Remove deprecated item definition 2015-06-17 23:30:23 +02:00
thatsIch 6d510d3912 Remove cell deprecation 2015-06-17 23:25:16 +02:00
Uristqwerty 41b8150ef4 Cleaned up CraftGuide Integration
A NPE caused to open CraftGuide very slowly (several seconds)

Added Grinder recipes
Added Inscriber recipes

Conflicts:
	src/main/java/appeng/integration/modules/CraftGuide.java
2015-06-17 21:35:46 +02:00
yueh 20f72cae04 No longer invalidate the cache of MEMonitorIInventory on simulate.
Should fix #1036
2015-06-17 21:34:11 +02:00
thatsIch a95b9962b9 make it runnable 2015-06-17 19:39:18 +02:00
AlgorithmX2 38afde724b Most of the 1.8 Port. 2015-06-15 19:44:59 -05:00
2436 changed files with 68263 additions and 52449 deletions

View File

@ -11,20 +11,32 @@ top of things.
Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!
1. Make sure your issue hasn't already been answered or fixed. Also think about whether your issue is a valid one before submitting it.
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues)
3. Click new issue
4. Enter your Issue's title (something that summarizes your issue), and then create a detailed description of the issue.
* To help in resolving your issues please try to include the follow if applicable:
* The problem that is happening?
* What was expected?
* How to reproduce the problem?
* Server or Single Player?
* Mod Pack using and version?
* Crash log (Please make sure to use [pastebin](http://pastebin.com/) for the log file)
* Screen shots or Pictures of the problem
1. Make sure your issue has not already been answered or fixed and you are using the latest version. Also think about whether your issue is a valid one before submitting it.
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues) and click [new issue](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/new)
3. Enter your a title of your issue (something that summarizes your issue), and then create a detailed description of the issue.
* Do not tag it with something like `[Feature]` or `[Bug]`. When it is applicable, we will take care of it.
* The following details are required. Not including them can cause the issue to be closed.
* Forge version
* AE2 version
* Crash log, when reporting a crash (Please make sure to use [pastebin](http://pastebin.com/))
* Do not post an excerpt of what you consider important, instead:
* Post the full log
* Other mods and their version, when reporting an issue between AE and another mod
* Also consider updating these before submitting a new issue, it might be already fixed
* A detailed description of the bug or feature
* To further help in resolving your issues please try to include the follow if applicable:
* What was expected?
* How to reproduce the problem?
* This is usually a great detail and allows us to fix it way faster
* Server or Single Player?
* Screen shots or Pictures of the problem
* Mod Pack using and version?
* Keep in mind that some mods might use an outdated version of AE2
* If so you should report it to your modpack
5. Click `Submit New Issue`, and wait for feedback!
Providing as many details as possible does help us to find and resolve the issue faster and also you getting a fixed version as fast as possible.
### Submitting Changes
* Submit an issue to the github project, assuming one does not already exist.
@ -55,10 +67,8 @@ Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue
from our issue tracker. The body describes the behavior without the patch,
why this is a problem, and how the patch fixes the problem when applied.
````
* Always fully test your changes. If they are large engouh in scope, then fully
test AE2.
* Describing the process you used to test your changes in detail will help speed
up this process.
* Always fully test your changes. If they are large engouh in scope, then fully test AE2.
* Describing the process you used to test your changes in detail will help speed up this process.
## Making Trivial Changes
@ -97,6 +107,9 @@ the styling guidelines used by AE.
PRs that do not conform to these standards will be rejected.
You can find presets for Eclipse and IntelliJ IDEA in the `codeformat` folder.
We try to keep them up to date, but in case you find them not formatting it correctly, then please report it
### Whitespace
#### Tabs or spaces

16
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,16 @@
<!-- Provide a summary of the issue in the Title above, please do not "[Tag]" it -->
#### Description
<!-- Always use the most recent version from ae-mod.info, it might already be fixed -->
<!-- When describing a bug, tell us what was expected and what the actual behaviour is -->
<!-- When suggesting a feature, tell us how it should work and why it should be considered -->
#### Environment
<!-- Include as many relevant details about the environment -->
<!-- Like the used version, SP/MP, other mods and their version, crashlogs etc -->
<!-- Please use pastebin or gist for posting the complete crashlog, no excerpt -->
<!-- The following ones are required, please note "latest" is not a version -->
- Minecraft Version:
- AE2 Version:
- Forge Version:

10
.gitignore vendored
View File

@ -8,11 +8,11 @@
!gradlew.bat
!build.gradle
!gradle.properties
!.travis.yml
# include markdowns
!README.md
!LICENSE
!CONTRIBUTING.md
# include sourcecode
!src/
@ -22,4 +22,10 @@
!.gitignore
# code format to reduce noise in git commits
!codeformat/
!codeformat/
# Github specific files and directories
!.github/
# Explicit ignores
Thumbs.db

20
.travis.yml Normal file
View File

@ -0,0 +1,20 @@
sudo: required
dist: trusty
language: java
jdk:
- oraclejdk8
- openjdk8
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
- rm -f $HOME/.gradle/caches/minecraft/deobfedDeps/providedDummy.jar
- rm -f $HOME/.gradle/caches/minecraft/deobfedDeps/compileDummy.jar
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
install: "./gradlew setupCIWorkspace"
script: "./gradlew build test"

View File

@ -1,6 +1,5 @@
[![Latest Build](https://img.shields.io/teamcity/http/ci.tsr.me/s/AppliedEnergistics_AutoHeadBuild.svg?label=Latest Build)](http://ci.tsr.me/viewType.html?buildTypeId=AppliedEnergistics_AutoHeadBuild&tab=buildTypeStatusDiv)
[![Latest Tag](https://img.shields.io/github/tag/AppliedEnergistics/Applied-Energistics-2.svg?label=Latest Tag)](https://github.com/AppliedEnergistics/Applied-Energistics-2/tags)
[![Latest Release](https://img.shields.io/github/release/AppliedEnergistics/Applied-Energistics-2.svg?label=Latest Release)](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases)
[![Travis](https://img.shields.io/travis/AppliedEnergistics/Applied-Energistics-2.svg?maxAge=2592000&style=flat-square)](https://travis-ci.org/AppliedEnergistics/Applied-Energistics-2)
[![Latest Release](https://img.shields.io/github/release/AppliedEnergistics/Applied-Energistics-2.svg?label=Latest Release&style=flat-square)](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases)
# Applied Energistics 2
@ -10,6 +9,7 @@
* [Contacts](#contacts)
* [License](#license)
* [Downloads](#downloads)
* [Nightly Builds](#nightly-builds)
* [Installation](#installation)
* [Issues](#issues)
* [Building](#building)
@ -32,20 +32,28 @@ A Mod about Matter, Energy and using them to conquer the world..
* Applied Energistics 2 API
- (c) 2013 - 2015 AlgorithmX2 et al
- [![License](https://img.shields.io/badge/License-MIT-red.svg?style=flat)](http://opensource.org/licenses/MIT)
- [![License](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](http://opensource.org/licenses/MIT)
* Applied Energistics 2
- (c) 2013 - 2015 AlgorithmX2 et al
- [![License](https://img.shields.io/badge/License-LGPLv3-blue.svg?style=flat)](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
- [![License](https://img.shields.io/badge/License-LGPLv3-blue.svg?style=flat-square)](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
* Textures and Models
- (c) 2013 - 2015 AlgorithmX2 et al
- [![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%203.0-yellow.svg?style=flat)](https://creativecommons.org/licenses/by-nc-sa/3.0/)
- [![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%203.0-yellow.svg?style=flat-square)](https://creativecommons.org/licenses/by-nc-sa/3.0/)
* Text and Translations
- [![License](https://img.shields.io/badge/License-No%20Restriction-green.svg?style=flat)](https://creativecommons.org/publicdomain/zero/1.0/)
- [![License](https://img.shields.io/badge/License-No%20Restriction-green.svg?style=flat-square)](https://creativecommons.org/publicdomain/zero/1.0/)
## Downloads
Downloads can be found on [CurseForge](http://www.curse.com/mc-mods/minecraft/223794-applied-energistics-2) or on the [official website](http://ae-mod.info/Downloads/).
## Nightly Builds
[![Build status](https://ci.appveyor.com/api/projects/status/w0sg7upakn0vj5gc?svg=true)](https://ci.appveyor.com/project/shartte/applied-energistics-2/history)
[Download Latest Nightly Build](https://ci.appveyor.com/api/projects/shartte/applied-energistics-2/artifacts/ae2-rv4-nightly.zip?branch=master)
Nightly builds for the Minecraft 1.10.2 branch of AE2 (rv4-alpha) are available from [AppVeyor](https://ci.appveyor.com/project/shartte/applied-energistics-2/history). These builds are only for testing purposes and might lead to loss of data, and will contain significant bugs. Please see below on how you can report bugs you find during testing.
## Installation
You install this mod by putting it into the `minecraft/mods/` folder. It has no additional hard dependencies.
@ -54,20 +62,32 @@ You install this mod by putting it into the `minecraft/mods/` folder. It has no
Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!
1. Make sure your issue hasn't already been answered or fixed. Also think about whether your issue is a valid one before submitting it.
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues)
3. Click new issue
4. Enter your Issue's title (something that summarizes your issue), and then create a detailed description of the issue.
* To help in resolving your issues please try to include the follow if applicable:
* The problem that is happening?
* What was expected?
* How to reproduce the problem?
* Server or Single Player?
* Mod Pack using and version?
* Crash log (Please make sure to use [pastebin](http://pastebin.com/) for the log file)
* Screen shots or Pictures of the problem
1. Make sure your issue has not already been answered or fixed and you are using the latest version. Also think about whether your issue is a valid one before submitting it.
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues) and click [new issue](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/new)
3. Enter your a title of your issue (something that summarizes your issue), and then create a detailed description of the issue.
* Do not tag it with something like `[Feature]` or `[Bug]`. When it is applicable, we will take care of it.
* The following details are required. Not including them can cause the issue to be closed.
* Forge version
* AE2 version
* Crash log, when reporting a crash (Please make sure to use [pastebin](http://pastebin.com/))
* Do not post an excerpt of what you consider important, instead:
* Post the full log
* Other mods and their version, when reporting an issue between AE and another mod
* Also consider updating these before submitting a new issue, it might be already fixed
* A detailed description of the bug or feature
* To further help in resolving your issues please try to include the follow if applicable:
* What was expected?
* How to reproduce the problem?
* This is usually a great detail and allows us to fix it way faster
* Server or Single Player?
* Screen shots or Pictures of the problem
* Mod Pack using and version?
* Keep in mind that some mods might use an outdated version of AE2
* If so you should report it to your modpack
5. Click `Submit New Issue`, and wait for feedback!
Providing as many details as possible does help us to find and resolve the issue faster and also you getting a fixed version as fast as possible.
## Building
1. Clone this repository via
@ -79,17 +99,19 @@ Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue
- CI server `gradlew setupCIWorkspace`
3. Build `gradlew build`. Jar will be in `build/libs`
4. For core developer: Setup IDE
- IntelliJ: Import into IDE and execute `gradlew genIntellijRuns` afterwards
- IntelliJ: Import into IDE, execute `gradlew genIntellijRuns` and change RunConfiguration to `*_main` as quickfix for [ForgeGradle](https://github.com/MinecraftForge/ForgeGradle/issues/357)
- Eclipse: execute `gradlew eclipse`
5. For add-on developer: Core-Mod Detection
- In order to have FML detect AE from your dev environment, add the following VM Option to your run profile
- `-Dfml.coreMods.load=appeng.transformer.AppEngCore`
- `-Dfml.coreMods.load=appeng.coremod.AppEngCore`
## Contribution
Before you want to add major changes, you might want to discuss them with us first, before wasting your time.
If you are still willing to contribute to this project, you can contribute via [Pull-Request](https://help.github.com/articles/creating-a-pull-request).
The [guidelines for contributing](https://github.com/AppliedEnergistics/Applied-Energistics-2/blob/master/CONTRIBUTING.md) contain more detailed information about topics like the used code style and should also be considered.
Here are a few things to keep in mind that will help get your PR approved.
* A PR should be focused on content. Any PRs where the changes are only syntax will be rejected.
@ -127,7 +149,7 @@ Development and standard builds can be obtained [Here](http://ae2.ae-mod.info/Do
When compiling against the AE2 API you can use gradle dependencies, just add
dependencies {
compile "appeng:appliedenergistics2:rv_-_____-__:dev"
compile "appeng:appliedenergistics2:rv_-_____-__:dev"
}
or add the compile line to your existing dependencies task to your build.gradle
@ -146,9 +168,17 @@ An example string would be `appeng:appliedenergistics2:rv2-alpha-30:dev`
Files must be encoded as UTF-8.
### New Translations
### New or updated Translations
You can provide any additional languages by creating a new file with the [appropriate language code](http://download1.parallels.com/SiteBuilder/Windows/docs/3.2/en_US/sitebulder-3.2-win-sdk-localization-pack-creation-guide/30801.htm).
The language files are located in `/src/main/resources/assets/appliedenergistics2/lang/` and use the [appropriate locale code](http://minecraft.gamepedia.com/Language) as name and `.lang` as extension.
To update an translation edit the corresponding file and improve/correct the existing entry. Or copy any entries from `en_US.lang` for missing translation.
To create a new translation, copy the contents of `en_US.lang`, create a new file with appropriate filename, and translate it to your language.
Please keep in mind that we use [String format](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) to pass additional data to the text for displaying.
Therefore you should preserve parts like `%s` or `%1$d%%`, which allows us to replace them with the correct values while you still have the option to change their order for match the rules of grammar.
This might not be possible for some languages. Should this be the case, please contact us.
### Final Note

View File

@ -1,6 +1,6 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
* Copyright (c) 2013 - 2015, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
@ -16,106 +16,110 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
apply plugin: 'forge'
apply from: 'gradle/scripts/dependencies.gradle'
apply from: 'gradle/scripts/artifacts.gradle'
apply from: 'gradle/scripts/autoinstallruntime.gradle'
apply from: 'gradle/scripts/integration.gradle'
apply from: 'gradle/scripts/optional.gradle'
buildscript {
repositories {
mavenLocal()
jcenter()
mavenCentral()
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 7200, 'hours'
repositories {
mavenLocal()
jcenter()
mavenCentral()
}
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6
apply from: 'gradle/scripts/dependencies.gradle'
apply from: 'gradle/scripts/artifacts.gradle'
apply from: 'gradle/scripts/optional.gradle'
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
version = aeversion + "-" + aechannel + "-" + aebuild
group = aegroup
archivesBaseName = aebasename
// If TeamCity is running this build, lets set the version info
if (hasProperty("teamcity")) {
version = teamcity["build.number"]
// Fix for main branch being built
version = version.replaceAll("/", "-")
}
// Add Coremod Manifest
jar {
manifest {
attributes 'FMLCorePlugin': 'appeng.transformer.AppEngCore'
attributes 'FMLCorePluginContainsFMLMod': 'true'
attributes 'FMLAT': 'appeng_at.cfg'
}
from sourceSets.api.output
dependsOn apiClasses
// specify which files are really included, can control which APIs should be in
include "appeng/**"
include "assets/**"
include "mcmod.info"
include "pack.mcmeta"
include "META-INF/appeng_at.cfg"
}
minecraft {
coreMod = "appeng.coremod.AppEngCore"
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"
mappings = mcp_mappings
}
sourceSets {
main {
java {
srcDirs += 'src/api/java'
srcDirs += 'src/main/java/'
}
resources {
srcDir "src/main/resources/"
include "assets/appliedenergistics2/recipes/*.recipe",
"assets/appliedenergistics2/recipes/README.html",
"assets/appliedenergistics2/lang/*.lang",
"assets/appliedenergistics2/textures/blocks/*",
"assets/appliedenergistics2/textures/guis/*",
"assets/appliedenergistics2/textures/models/*",
"assets/appliedenergistics2/textures/items/*",
"assets/appliedenergistics2/meta/*",
"mcmod.info",
"pack.mcmeta"
}
api
// This source set will contain third party API code that we need to compile, but which is not shipped with the jar
thirdparty {
// Third Party APIs often need access to Minecraft classes (i.e. EnumFacing), so set this up here
compileClasspath += configurations.forgeGradleMc + configurations.forgeGradleMcDeps
}
main
}
processResources {
dependencies {
compile sourceSets.thirdparty.output
}
processResources
{
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
expand 'version': project.version, 'mcversion': minecraft_version
expand 'version': project.version, 'mcversion': project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
// move access transformer to META-INF
rename '(.+_at.cfg)', 'META-INF/$1'
}

Binary file not shown.

View File

@ -1,10 +0,0 @@
#Organize Import Order
#Thu Oct 09 12:52:21 CEST 2014
6=
5=cpw
4=net
3=io
2=org
1=com
0=java
7=appeng

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="12">
<profile kind="CodeFormatterProfile" name="Algo" version="12">
<profile kind="CodeFormatterProfile" name="AE2" version="12">
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="do not insert"/>
@ -22,7 +22,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
@ -37,13 +37,13 @@
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
@ -72,14 +72,14 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
@ -96,7 +96,7 @@
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="0"/>
@ -106,7 +106,7 @@
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
@ -122,13 +122,13 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="insert"/>
@ -138,7 +138,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
@ -147,7 +147,7 @@
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
@ -182,7 +182,7 @@
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
@ -215,7 +215,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
@ -231,7 +231,7 @@
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="insert"/>
@ -267,8 +267,8 @@
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="insert"/>
@ -283,13 +283,13 @@
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="160"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="do not insert"/>
</profile>
</profiles>

View File

@ -0,0 +1,11 @@
#Organize Import Order
#Sat Jun 13 15:22:41 CEST 2015
8=appeng
7=
6=cpw
5=net
4=io
3=org
2=com
1=javax
0=java

View File

@ -1,5 +1,5 @@
aeversion=rv2
aechannel=stable
aeversion=rv4
aechannel=alpha
aebuild=0
aegroup=appeng
aebasename=appliedenergistics2
@ -7,51 +7,18 @@ aebasename=appliedenergistics2
#########################################################
# Versions #
#########################################################
minecraft_version=1.7.10
forge_version=10.13.2.1291
minecraft_version=1.10.2
mcp_mappings=snapshot_20161111
forge_version=12.18.2.2139
#########################################################
# Installable #
#########################################################
waila_version=1.5.10
jabba_version=1.2.1a
enderstorage_version=1.4.7.33
translocator_version=1.1.1.14
ic2_version=2.2.717
enderio_version=2.3.0.375_beta
#cofhlib_version=1.0.1-157
#cofhcore_version=3.0.2-270
#texpansion_version=4.0.0-176
#tfoundation_version=1.0.0-82
betterstorage_version=0.11.3.123.20
invtweaks_version=1.58
waila_version=1.7.0-B3_1.9.4
#########################################################
# Provided APIs #
#########################################################
fmp_version=1.1.1.324
code_chicken_lib_version=1.1.3.127
code_chicken_core_version=1.0.4.35
nei_version=1.0.4.90
bc_version=6.4.6
opencomputers_version=1.5.9.21
#########################################################
# Self Compiled APIs #
#########################################################
mekansim_version=8.0.1.198
rotarycraft_version=V6e
#########################################################
# Self Compiled API Stubs #
# Note: Do not edit these version numbers as they are #
# not the version of the mod, but stub code for AE2 to #
# compile #
#########################################################
api_coloredlightscore_version=1
api_craftguide_version=1
api_immibis_version=1
api_mfr_version=1
api_railcraft_version=1
api_rf_version=2
jei_version=3.13.3.373
tesla_version=1.10.2-1.2.1.50
ic2_version=2.6.99-ex110

View File

@ -1,48 +1,58 @@
task myJavadocs(type: Javadoc) {
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
// Suppresses warnings/errors when building javadocs
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
javadoc {
options.encoding = 'UTF-8'
options.charSet = 'UTF-8'
}
task javadocs(type: Javadoc) {
source = sourceSets.api.java
include "appeng/api/**"
classpath = configurations.compile
// Due to ForgeGradle having to be a special snowflake,
// we have to add some custom configurations to the normal compile configuration and hope it does not break.
classpath = configurations.compile + configurations.forgeGradleMc + configurations.forgeGradleMcDeps
}
task javadocJar(type: Jar, dependsOn: myJavadocs) {
task javadocJar(type: Jar, dependsOn: javadocs) {
from javadoc.destinationDir
classifier = 'javadoc'
from 'build/docs/javadoc/'
}
task sourceJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task devJar(type: Jar) {
manifest {
attributes 'FMLCorePlugin': 'appeng.transformer.AppEngCore'
attributes 'FMLCorePluginContainsFMLMod': 'true'
}
from(sourceSets.main.output) {
include "appeng/**"
include "assets/**"
include 'mcmod.info'
}
classifier = 'dev'
}
task apiJar(type: Jar) {
from sourceSets.api.java
include "appeng/api/**"
from sourceSets.main.output
from sourceSets.api.output
include "appeng/api/**"
classifier = 'api'
}
artifacts {
archives devJar
archives apiJar
archives javadocJar
archives sourceJar

View File

@ -1,12 +0,0 @@
// searches for NEI and Chicken stuff from compile set
// and adds them to the mods in run dir
task copyChicken(type: Copy, dependsOn: "extractUserDev") {
from { configurations.compile }
include "**/*Chicken*.jar", "**/*NotEnoughItems*.jar"
exclude "**/CodeChickenLib*" // because CCC downloads it anyways.. -_-
into file(minecraft.runDir + "/mods")
mustRunAfter "deobfBinJar"
mustRunAfter "repackMinecraft"
}
tasks.setupDevWorkspace.dependsOn copyChicken
tasks.setupDecompWorkspace.dependsOn copyChicken

View File

@ -16,14 +16,8 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
repositories {
mavenLocal()
maven {
name "ChickenBones"
url "http://chickenbones.net/maven/"
}
maven {
name "Mobius"
@ -31,50 +25,19 @@ repositories {
}
maven {
name "FireBall API Depot"
url "http://dl.tsr.me/artifactory/libs-release-local"
name = "JEI repo"
url "http://dvs1.progwml6.com/files/maven"
}
maven {
name = "Player"
url = "http://maven.ic2.player.to/"
name = "Tesla repo"
url "http://maven.epoxide.xyz"
}
maven {
name = "Tterrag"
url = "http://maven.tterrag.com/"
name = "IC2 repo"
url = "http://maven.ic2.player.to"
}
maven {
name = "RX14 Proxy"
url = "http://mvn.rx14.co.uk/repo/"
}
maven {
name "OpenComputers Repo"
url = "http://maven.cil.li/"
}
// CurseForge DNS for TE is not available or I am just being unlucky, code part can stay since this is applicable to any other curseforge mod though
// ivy {
// name = "CoFHLib"
// artifactPattern "http://addons.cursecdn.com/files/2212/893/[module]-[revision].[ext]"
// }
//
// ivy {
// name = "CoFHCore"
// artifactPattern "http://addons.cursecdn.com/files/2212/895/[module]-[revision].[ext]"
// }
// ivy {
// name = "ThermalExpansion"
// artifactPattern "http://addons.curse.cursecdn.com/files/2212/446/[module]-[revision].[ext]"
// }
// ivy {
// name = "ThermalFoundation"
// artifactPattern "http://addons.curse.cursecdn.com/files/2212/444/[module]-[revision].[ext]"
// }
}
configurations {
@ -82,46 +45,19 @@ configurations {
}
dependencies {
// installable
mods "mcp.mobius.waila:Waila:${waila_version}_${minecraft_version}:dev"
mods "mcp.mobius.jabba:Jabba:${jabba_version}_${minecraft_version}:dev"
mods "codechicken:EnderStorage:${minecraft_version}-${enderstorage_version}:dev"
mods "codechicken:Translocator:${minecraft_version}-${translocator_version}:dev"
mods "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:dev"
mods "com.enderio:EnderIO:${minecraft_version}-${enderio_version}:dev"
mods "net.mcft.copy.betterstorage:BetterStorage:${minecraft_version}-${betterstorage_version}:deobf"
mods "inventorytweaks:InventoryTweaks:${invtweaks_version}:deobf"
mods "li.cil.oc:OpenComputers:MC${minecraft_version}-${opencomputers_version}:dev"
// installable runtime dependencies
mods "mcp.mobius.waila:Waila:${waila_version}"
mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev"
// mods name: 'CoFHLib', version: "[${minecraft_version}]${cofhlib_version}-dev", ext: 'jar'
// mods name: 'CoFHCore', version: "[${minecraft_version}]${cofhcore_version}-dev", ext: 'jar'
// mods name: 'ThermalExpansion', version: "[${minecraft_version}]${texpansion_version}-dev", ext: 'jar'
// mods name: 'ThermalFoundation', version: "[${minecraft_version}]${tfoundation_version}-dev", ext: 'jar'
// compile against provided APIs
compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api"
compileOnly "mcp.mobius.waila:Waila:${waila_version}"
compileOnly "net.darkhax.tesla:Tesla:${tesla_version}"
compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api"
compile "codechicken:ForgeMultipart:${minecraft_version}-${fmp_version}:dev"
compile "codechicken:CodeChickenLib:${minecraft_version}-${code_chicken_lib_version}:dev"
compile "codechicken:CodeChickenCore:${minecraft_version}-${code_chicken_core_version}:dev"
compile "codechicken:NotEnoughItems:${minecraft_version}-${nei_version}:dev"
compile "com.mod-buildcraft:buildcraft:${bc_version}:dev"
// at runtime, use the full JEI jar
runtime "mezz.jei:jei_${minecraft_version}:${jei_version}"
// provided APIs
compile "li.cil.oc:OpenComputers:MC${minecraft_version}-${opencomputers_version}:api"
compile "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:api"
compile "net.mcft.copy.betterstorage:BetterStorage:${minecraft_version}-${betterstorage_version}:api"
// self compiled APIs
compile "appeng:Waila:${waila_version}_${minecraft_version}:api"
compile "appeng:RotaryCraft:${rotarycraft_version}:api"
compile "appeng:mekanism:${minecraft_version}-${mekansim_version}:api"
compile "appeng:InventoryTweaks:${invtweaks_version}:api"
// self compiled stubs
compile(group: 'api', name: 'coloredlightscore', version: "${api_coloredlightscore_version}")
compile(group: 'api', name: 'craftguide', version: "${api_craftguide_version}")
compile(group: 'api', name: 'immibis', version: "${api_immibis_version}")
compile(group: 'api', name: 'mfr', version: "${api_mfr_version}")
compile(group: 'api', name: 'railcraft', version: "${api_railcraft_version}")
compile(group: 'api', name: 'rf', version: "${api_rf_version}")
testCompile "junit:junit:4.11"
// unit test dependencies
testCompile "junit:junit:4.12"
}

View File

@ -1,7 +0,0 @@
apply plugin: 'idea'
idea {
module {
inheritOutputDirs = true
}
}

View File

@ -1,11 +1,29 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
task wrapper(type: Wrapper) {
gradleVersion = "2.4"
gradleVersion = "2.14"
}
// WAILA
task installWaila(type: Copy, dependsOn: "deinstallWaila") {
from { configurations.mods }
include "**/*Waila*dev.jar"
include "**/*Waila*.jar"
into file(minecraft.runDir + "/mods")
}
@ -13,104 +31,13 @@ task deinstallWaila(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Waila*.jar")
}
// JABBA
task installJabba(type: Copy, dependsOn: "deinstallJabba") {
from { configurations.mods }
include "**/*Jabba*dev.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallJabba(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Jabba*.jar")
}
// ENDER STORAGE
task installEnderStorage(type: Copy, dependsOn: "deinstallEnderStorage") {
from { configurations.mods }
include "**/*EnderStorage*dev.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallEnderStorage(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*EnderStorage*.jar")
}
// TRANSLOCATOR
task installTranslocator(type: Copy, dependsOn: "deinstallTranslocator") {
from { configurations.mods }
include "**/*Translocator*dev.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallTranslocator(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Translocator*.jar")
}
// INDUSTRIALCRAFT
// IC²
task installIC2(type: Copy, dependsOn: "deinstallIC2") {
from { configurations.mods }
include "**/*industrialcraft*dev.jar"
include "**/*industrialcraft-2*.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallIC2(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*industrialcraft*.jar")
}
// ENDER IO
task installEnderIO(type: Copy, dependsOn: "deinstallEnderIO") {
from { configurations.mods }
include "**/*EnderIO*dev.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallEnderIO(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*EnderIO*.jar")
}
// TE
//task installTE(type: Copy, dependsOn: "deinstallTE") {
// from { configurations.mods }
// include "**/*CoFHLib*.jar"
// include "**/*CoFHCore*.jar"
// include "**/*ThermalFoundation*.jar"
// include "**/*ThermalExpansion*.jar"
//
// into file(minecraft.runDir + "/mods")
//}
//
//task deinstallTE(type: Delete) {
// delete fileTree(dir: minecraft.runDir + "/mods", includes: ["*CoFHLib*.jar", "*CoFHCore*.jar", "*ThermalFoundation*.jar", "*ThermalExpansion*.jar"])
//}
// INV TWEAKS
task installInvTweaks(type: Copy, dependsOn: "deinstallInvTweaks") {
from { configurations.mods }
include "**/*InventoryTweaks*dev*.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallInvTweaks(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*InventoryTweaks*.jar")
}
// BETTER STORAGE
task installBetterStorage(type: Copy, dependsOn: "deinstallBetterStorage") {
from { configurations.mods }
include "**/*BetterStorage*deobf*.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallBetterStorage(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*BetterStorage*.jar")
}
task installOpenComputers(type: Copy, dependsOn: "deinstallOpenComputers") {
from { configurations.mods }
include "**/*OpenComputer*dev*.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallOpenComputers(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*OpenComputers*.jar")
delete fileTree(dir: minecraft.runDir + "/mods", include: "*industrialcraft-2*.jar")
}

Binary file not shown.

View File

@ -1,6 +1,6 @@
#Sat May 16 13:19:14 CEST 2015
#Fri Sep 16 14:56:32 CEST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14-bin.zip

52
gradlew vendored
View File

@ -6,12 +6,30 @@
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
@ -30,6 +48,7 @@ die ( ) {
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
@ -40,31 +59,11 @@ case "`uname`" in
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
@ -90,7 +89,7 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@ -114,6 +113,7 @@ fi
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`

8
gradlew.bat vendored
View File

@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
@ -46,7 +46,7 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args

View File

@ -51,15 +51,15 @@ public enum AEApi
HELD_API = (IAppEngApi) apiField.get( apiClass );
}
catch( ClassNotFoundException e )
catch( final ClassNotFoundException e )
{
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FQN + " class, without it being declared." );
}
catch( NoSuchFieldException e )
catch( final NoSuchFieldException e )
{
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without it being declared." );
}
catch( IllegalAccessException e )
catch( final IllegalAccessException e )
{
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without enough access permissions." );
}

View File

@ -16,21 +16,19 @@
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.block.stair;
package appeng.api;
import java.util.EnumSet;
import net.minecraft.block.Block;
import appeng.block.AEBaseStairBlock;
import appeng.core.features.AEFeature;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
public class ChiseledQuartzStairBlock extends AEBaseStairBlock
{
public ChiseledQuartzStairBlock( Block block )
{
super( block, 0, EnumSet.of( AEFeature.DecorativeQuartzBlocks ) );
}
}
/**
* Marks interfaces that can be used as injectable constructor arguments for an {@link AEPlugin}.
*/
@Target( ElementType.TYPE )
@Retention( RetentionPolicy.RUNTIME )
public @interface AEInjectable
{}

View File

@ -0,0 +1,39 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Use this annotation on a class in your Mod to have it instantiated during the initialization phase of Applied
* Energistics.
* AE expects your class to have a single constructor and can supply certain arguments to your constructor using
* dependency injection.
*/
@Target( ElementType.TYPE )
@Retention( RetentionPolicy.RUNTIME )
@Documented
public @interface AEPlugin
{}

View File

@ -24,11 +24,7 @@
package appeng.api;
import appeng.api.definitions.Blocks;
import appeng.api.definitions.IDefinitions;
import appeng.api.definitions.Items;
import appeng.api.definitions.Materials;
import appeng.api.definitions.Parts;
import appeng.api.exceptions.FailedConnection;
import appeng.api.features.IRegistryContainer;
import appeng.api.networking.IGridBlock;
@ -37,10 +33,9 @@ import appeng.api.networking.IGridNode;
import appeng.api.parts.IPartHelper;
import appeng.api.storage.IStorageHelper;
@AEInjectable
public interface IAppEngApi
{
/**
* @return Registry Container for the numerous registries in AE2.
*/
@ -56,38 +51,6 @@ public interface IAppEngApi
*/
IPartHelper partHelper();
/**
* @return an accessible list of all of AE's Items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#items()}
*/
@Deprecated
Items items();
/**
* @return an accessible list of all of AE's materials; materials are items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#materials()}
*/
@Deprecated
Materials materials();
/**
* @return an accessible list of all of AE's blocks
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#blocks()}
*/
@Deprecated
Blocks blocks();
/**
* @return an accessible list of all of AE's parts, parts are items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#parts()}
*/
@Deprecated
Parts parts();
/**
* @return an accessible list of all AE definitions
*/

View File

@ -0,0 +1,64 @@
/*
* 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.client;
import java.util.List;
import com.google.common.collect.ImmutableList;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.util.EnumFacing;
/**
* TODO: Needs to be moved to an internal class. API is only allowed to contain interfaces and/or data.
*
* @deprecated
*/
@Deprecated
public class BakingPipeline<F, T> implements BakingPipelineElement<F, T>
{
private final ImmutableList<BakingPipelineElement<?, ?>> pipeline;
public BakingPipeline( BakingPipelineElement<?, ?>... pipeline )
{
this.pipeline = ImmutableList.copyOf( pipeline );
}
/**
* TODO: fix generics
*/
@Override
public List pipe( List things, IBakedModel parent, IBlockState state, EnumFacing side, long rand )
{
for( BakingPipelineElement pipe : pipeline )
{
things = pipe.pipe( things, parent, state, side, rand );
}
return things;
}
}

View File

@ -21,20 +21,19 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.implementations.tiles;
package appeng.api.client;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.List;
import appeng.api.networking.security.BaseActionSource;
import appeng.api.storage.IStorageMonitorable;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.util.EnumFacing;
/**
* Implemented on inventories that can share their inventories with other networks, best example, ME Interface.
*/
public interface ITileStorageMonitorable
public interface BakingPipelineElement<F, T>
{
IStorageMonitorable getMonitorable( ForgeDirection side, BaseActionSource src );
public List<T> pipe( List<F> elements, IBakedModel parent, IBlockState state, EnumFacing side, long rand );
}

View File

@ -30,22 +30,22 @@ public enum AccessRestriction
private final int permissionBit;
AccessRestriction( int v )
AccessRestriction( final int v )
{
this.permissionBit = v;
}
public boolean hasPermission( AccessRestriction ar )
public boolean hasPermission( final AccessRestriction ar )
{
return ( this.permissionBit & ar.permissionBit ) == ar.permissionBit;
}
public AccessRestriction restrictPermissions( AccessRestriction ar )
public AccessRestriction restrictPermissions( final AccessRestriction ar )
{
return this.getPermByBit( this.permissionBit & ar.permissionBit );
}
private AccessRestriction getPermByBit( int bit )
private AccessRestriction getPermByBit( final int bit )
{
switch( bit )
{
@ -61,12 +61,12 @@ public enum AccessRestriction
}
}
public AccessRestriction addPermissions( AccessRestriction ar )
public AccessRestriction addPermissions( final AccessRestriction ar )
{
return this.getPermByBit( this.permissionBit | ar.permissionBit );
}
public AccessRestriction removePermissions( AccessRestriction ar )
public AccessRestriction removePermissions( final AccessRestriction ar )
{
return this.getPermByBit( this.permissionBit & ( ~ar.permissionBit ) );
}

View File

@ -27,18 +27,22 @@ package appeng.api.config;
public enum FuzzyMode
{
// Note that percentage damaged, is the inverse of percentage durability.
IGNORE_ALL( -1 ), PERCENT_99( 0 ), PERCENT_75( 25 ), PERCENT_50( 50 ), PERCENT_25( 75 );
IGNORE_ALL( -1 ),
PERCENT_99( 0 ),
PERCENT_75( 25 ),
PERCENT_50( 50 ),
PERCENT_25( 75 );
public final float breakPoint;
public final float percentage;
FuzzyMode( float p )
FuzzyMode( final float p )
{
this.percentage = p;
this.breakPoint = p / 100.0f;
}
public int calculateBreakPoint( int maxDamage )
public int calculateBreakPoint( final int maxDamage )
{
return (int) ( ( this.percentage * maxDamage ) / 100.0f );
}

View File

@ -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;
}

View File

@ -33,12 +33,12 @@ public enum PowerMultiplier
*/
public double multiplier = 1.0;
public double multiply( double in )
public double multiply( final double in )
{
return in * this.multiplier;
}
public double divide( double in )
public double divide( final double in )
{
return in / this.multiplier;
}

View File

@ -28,9 +28,7 @@ public enum PowerUnits
{
AE( "gui.appliedenergistics2.units.appliedenergstics" ), // Native Units - AE Energy
EU( "gui.appliedenergistics2.units.ic2" ), // IndustrialCraft 2 - Energy Units
WA( "gui.appliedenergistics2.units.rotarycraft" ), // RotaryCraft - Watts
RF( "gui.appliedenergistics2.units.thermalexpansion" ), // ThermalExpansion - Redstone Flux
MK( "gui.appliedenergistics2.units.mekanism" ); // Mekanism - Joules
RF( "gui.appliedenergistics2.units.rf" ); // RF - Redstone Flux
/**
* unlocalized name for the power unit.
@ -41,7 +39,7 @@ public enum PowerUnits
*/
public double conversionRatio = 1.0;
PowerUnits( String un )
PowerUnits( final String un )
{
this.unlocalizedName = un;
}
@ -54,11 +52,11 @@ public enum PowerUnits
* will normally returns 64, as it will convert the EU, to AE with AE's power settings.
*
* @param target target power unit
* @param value value
* @param value value
*
* @return value converted to target units, from this units.
*/
public double convertTo( PowerUnits target, double value )
public double convertTo( final PowerUnits target, final double value )
{
return ( value * this.conversionRatio ) / target.conversionRatio;
}

View File

@ -21,10 +21,10 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.parts;
package appeng.api.config;
public interface ISimplifiedBundle
public enum SchedulingMode
{
DEFAULT, ROUNDROBIN, RANDOM
}

View File

@ -26,5 +26,5 @@ package appeng.api.config;
public enum SearchBoxMode
{
AUTOSEARCH, MANUAL_SEARCH, NEI_AUTOSEARCH, NEI_MANUAL_SEARCH
AUTOSEARCH, MANUAL_SEARCH, JEI_AUTOSEARCH, JEI_MANUAL_SEARCH
}

View File

@ -25,6 +25,7 @@ package appeng.api.config;
import java.util.EnumSet;
import javax.annotation.Nonnull;
@ -54,13 +55,15 @@ public enum Settings
INTERFACE_TERMINAL( EnumSet.of( YesNo.YES, YesNo.NO ) ), CRAFT_VIA_REDSTONE( EnumSet.of( YesNo.YES, YesNo.NO ) ),
STORAGE_FILTER( EnumSet.allOf( StorageFilter.class ) ), PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) );
STORAGE_FILTER( EnumSet.allOf( StorageFilter.class ) ), PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ),
SCHEDULING_MODE( EnumSet.allOf( SchedulingMode.class ) );
private final EnumSet<? extends Enum<?>> values;
Settings( @Nonnull EnumSet<? extends Enum<?>> possibleOptions )
Settings( @Nonnull final EnumSet<? extends Enum<?>> possibleOptions )
{
if ( possibleOptions.isEmpty() )
if( possibleOptions.isEmpty() )
{
throw new IllegalArgumentException( "Tried to instantiate an empty setting." );
}

View File

@ -29,10 +29,7 @@ import java.util.Map;
import net.minecraft.item.ItemStack;
import com.google.common.base.Optional;
import appeng.api.definitions.IItemDefinition;
import appeng.api.util.AEItemDefinition;
public enum Upgrades
@ -47,19 +44,10 @@ public enum Upgrades
*/
FUZZY( 1 ), SPEED( 1 ), INVERTER( 1 );
/**
* @deprecated use {@link Upgrades#getTier()}
*/
@Deprecated
public final int tier;
private final int tier;
private final Map<ItemStack, Integer> supportedMax = new HashMap<>();
/**
* @deprecated use {@link Upgrades#getSupported()}
*/
@Deprecated
private final Map<ItemStack, Integer> supportedMax = new HashMap<ItemStack, Integer>();
Upgrades( int tier )
Upgrades( final int tier )
{
this.tier = tier;
}
@ -75,25 +63,21 @@ public enum Upgrades
/**
* Registers a specific amount of this upgrade into a specific machine
*
* @param item machine in which this upgrade can be installed
* @param item machine in which this upgrade can be installed
* @param maxSupported amount how many upgrades can be installed
*/
public void registerItem( IItemDefinition item, int maxSupported )
public void registerItem( final IItemDefinition item, final int maxSupported )
{
final Optional<ItemStack> maybeStack = item.maybeStack( 1 );
for( ItemStack stack : maybeStack.asSet() )
{
this.registerItem( stack, maxSupported );
}
item.maybeStack( 1 ).ifPresent( is -> this.registerItem( is, maxSupported ) );
}
/**
* Registers a specific amount of this upgrade into a specific machine
*
* @param stack machine in which this upgrade can be installed
* @param stack machine in which this upgrade can be installed
* @param maxSupported amount how many upgrades can be installed
*/
public void registerItem( ItemStack stack, int maxSupported )
public void registerItem( final ItemStack stack, final int maxSupported )
{
if( stack != null )
{
@ -101,28 +85,6 @@ public enum Upgrades
}
}
/**
* Registers a specific amount of this upgrade into a specific machine
*
* @param item machine in which this upgrade can be installed
* @param maxSupported amount how many upgrades can be installed
*
* @deprecated use {@link Upgrades#registerItem(IItemDefinition, int)}
*/
@Deprecated
public void registerItem( AEItemDefinition item, int maxSupported )
{
if( item != null )
{
final ItemStack stack = item.stack( 1 );
if( stack != null )
{
this.registerItem( stack, maxSupported );
}
}
}
public int getTier()
{
return this.tier;

View File

@ -1,131 +0,0 @@
/*
* 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.definitions;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IBlocks} now
*/
@Deprecated
public class Blocks
{
public AEItemDefinition blockQuartzOre;
public AEItemDefinition blockQuartzOreCharged;
public AEItemDefinition blockMatrixFrame;
public AEItemDefinition blockQuartz;
public AEItemDefinition blockQuartzPillar;
public AEItemDefinition blockQuartzChiseled;
public AEItemDefinition blockQuartzGlass;
public AEItemDefinition blockQuartzVibrantGlass;
public AEItemDefinition blockQuartzTorch;
public AEItemDefinition blockFluix;
public AEItemDefinition blockSkyStone;
public AEItemDefinition blockSkyChest;
public AEItemDefinition blockSkyCompass;
public AEItemDefinition blockGrindStone;
public AEItemDefinition blockCrankHandle;
public AEItemDefinition blockInscriber;
public AEItemDefinition blockWireless;
public AEItemDefinition blockCharger;
public AEItemDefinition blockTinyTNT;
public AEItemDefinition blockSecurity;
public AEItemDefinition blockQuantumRing;
public AEItemDefinition blockQuantumLink;
public AEItemDefinition blockSpatialPylon;
public AEItemDefinition blockSpatialIOPort;
public AEItemDefinition blockMultiPart;
public AEItemDefinition blockController;
public AEItemDefinition blockDrive;
public AEItemDefinition blockChest;
public AEItemDefinition blockInterface;
public AEItemDefinition blockCellWorkbench;
public AEItemDefinition blockIOPort;
public AEItemDefinition blockCondenser;
public AEItemDefinition blockEnergyAcceptor;
public AEItemDefinition blockVibrationChamber;
public AEItemDefinition blockQuartzGrowthAccelerator;
public AEItemDefinition blockEnergyCell;
public AEItemDefinition blockEnergyCellDense;
public AEItemDefinition blockEnergyCellCreative;
public AEItemDefinition blockCraftingUnit;
public AEItemDefinition blockCraftingAccelerator;
public AEItemDefinition blockCraftingStorage1k;
public AEItemDefinition blockCraftingStorage4k;
public AEItemDefinition blockCraftingStorage16k;
public AEItemDefinition blockCraftingStorage64k;
public AEItemDefinition blockCraftingMonitor;
public AEItemDefinition blockMolecularAssembler;
public AEItemDefinition blockLightDetector;
public AEItemDefinition blockPaint;
}

View File

@ -1,12 +1,31 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.definitions;
import java.util.Optional;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import com.google.common.base.Optional;
public interface IBlockDefinition extends IItemDefinition
{
@ -24,11 +43,9 @@ public interface IBlockDefinition extends IItemDefinition
* Compare Block with world.
*
* @param world world of block
* @param x x pos of block
* @param y y pos of block
* @param z z pos of block
* @param pos location
*
* @return if the block is placed in the world at the specific location.
*/
boolean isSameAs( IBlockAccess world, int x, int y, int z );
boolean isSameAs( IBlockAccess world, BlockPos pos );
}

View File

@ -41,45 +41,53 @@ public interface IBlocks
/*
* decorative
*/
IBlockDefinition quartz();
IBlockDefinition quartzBlock();
IBlockDefinition quartzPillar();
IBlockDefinition quartzChiseled();
IBlockDefinition chiseledQuartzBlock();
IBlockDefinition quartzGlass();
IBlockDefinition quartzVibrantGlass();
IBlockDefinition quartzTorch();
IBlockDefinition quartzFixture();
IBlockDefinition fluix();
IBlockDefinition fluixBlock();
IBlockDefinition skyStone();
IBlockDefinition skyStoneBlock();
IBlockDefinition skyChest();
IBlockDefinition smoothSkyStoneBlock();
IBlockDefinition skyStoneBrick();
IBlockDefinition skyStoneSmallBrick();
IBlockDefinition skyStoneChest();
IBlockDefinition smoothSkyStoneChest();
IBlockDefinition skyCompass();
IBlockDefinition skyStoneStair();
IBlockDefinition skyStoneStairs();
IBlockDefinition skyStoneBlockStair();
IBlockDefinition smoothSkyStoneStairs();
IBlockDefinition skyStoneBrickStair();
IBlockDefinition skyStoneBrickStairs();
IBlockDefinition skyStoneSmallBrickStair();
IBlockDefinition skyStoneSmallBrickStairs();
IBlockDefinition fluixStair();
IBlockDefinition fluixStairs();
IBlockDefinition quartzStair();
IBlockDefinition quartzStairs();
IBlockDefinition chiseledQuartzStair();
IBlockDefinition chiseledQuartzStairs();
IBlockDefinition quartzPillarStair();
IBlockDefinition quartzPillarStairs();
IBlockDefinition skyStoneSlab();
IBlockDefinition skyStoneBlockSlab();
IBlockDefinition smoothSkyStoneSlab();
IBlockDefinition skyStoneBrickSlab();
@ -96,19 +104,19 @@ public interface IBlocks
/*
* misc
*/
ITileDefinition grindStone();
ITileDefinition grindstone();
ITileDefinition crankHandle();
ITileDefinition crank();
ITileDefinition inscriber();
ITileDefinition wireless();
ITileDefinition wirelessAccessPoint();
ITileDefinition charger();
IBlockDefinition tinyTNT();
ITileDefinition security();
ITileDefinition securityStation();
/*
* quantum Network Bridge

View File

@ -1,8 +1,25 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.definitions;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
/**
@ -22,19 +39,4 @@ public interface IComparableDefinition
* @return true if the item stack is a matching item.
*/
boolean isSameAs( ItemStack comparableStack );
/**
* Compare Block with world.
*
* @param world world of block
* @param x x pos of block
* @param y y pos of block
* @param z z pos of block
*
* @return if the block is placed in the world at the specific location.
*
* @deprecated moved to {@link IBlockDefinition}. Is removed in the next major release rv3
*/
@Deprecated
boolean isSameAs( IBlockAccess world, int x, int y, int z );
}

View File

@ -1,14 +1,46 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 - 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.definitions;
import java.util.Optional;
import javax.annotation.Nonnull;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import com.google.common.base.Optional;
public interface IItemDefinition extends IComparableDefinition
{
/**
* @return the unique name of the definition which will be used to register the underlying structure. Will never be
* null
*/
@Nonnull
String identifier();
/**
* @return the {@link Item} Implementation if applicable
*/
@ -18,4 +50,9 @@ public interface IItemDefinition extends IComparableDefinition
* @return an {@link ItemStack} with specified quantity of this item.
*/
Optional<ItemStack> maybeStack( int stackSize );
/**
* @return <tt>true</tt> if definition is enabled
*/
boolean isEnabled();
}

View File

@ -123,7 +123,7 @@ public interface IMaterials
IItemDefinition woodenGear();
IItemDefinition wireless();
IItemDefinition wirelessReceiver();
IItemDefinition wirelessBooster();

View File

@ -80,11 +80,11 @@ public interface IParts
IItemDefinition p2PTunnelEU();
IItemDefinition p2PTunnelRF();
// IItemDefinition p2PTunnelRF();
IItemDefinition p2PTunnelLight();
IItemDefinition p2PTunnelOpenComputers();
// IItemDefinition p2PTunnelOpenComputers();
IItemDefinition cableAnchor();

View File

@ -1,9 +1,27 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.definitions;
import net.minecraft.tileentity.TileEntity;
import java.util.Optional;
import com.google.common.base.Optional;
import net.minecraft.tileentity.TileEntity;
public interface ITileDefinition extends IBlockDefinition

View File

@ -1,110 +0,0 @@
/*
* 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.definitions;
import appeng.api.util.AEColoredItemDefinition;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IItems}
*/
@Deprecated
public class Items
{
public AEItemDefinition itemCertusQuartzAxe;
public AEItemDefinition itemCertusQuartzHoe;
public AEItemDefinition itemCertusQuartzShovel;
public AEItemDefinition itemCertusQuartzPick;
public AEItemDefinition itemCertusQuartzSword;
public AEItemDefinition itemCertusQuartzWrench;
public AEItemDefinition itemCertusQuartzKnife;
public AEItemDefinition itemNetherQuartzAxe;
public AEItemDefinition itemNetherQuartzHoe;
public AEItemDefinition itemNetherQuartzShovel;
public AEItemDefinition itemNetherQuartzPick;
public AEItemDefinition itemNetherQuartzSword;
public AEItemDefinition itemNetherQuartzWrench;
public AEItemDefinition itemNetherQuartzKnife;
public AEItemDefinition itemEntropyManipulator;
public AEItemDefinition itemWirelessTerminal;
public AEItemDefinition itemBiometricCard;
public AEItemDefinition itemChargedStaff;
public AEItemDefinition itemMassCannon;
public AEItemDefinition itemMemoryCard;
public AEItemDefinition itemNetworkTool;
public AEItemDefinition itemPortableCell;
public AEItemDefinition itemCellCreative;
public AEItemDefinition itemViewCell;
public AEItemDefinition itemCell1k;
public AEItemDefinition itemCell4k;
public AEItemDefinition itemCell16k;
public AEItemDefinition itemCell64k;
public AEItemDefinition itemSpatialCell2;
public AEItemDefinition itemSpatialCell16;
public AEItemDefinition itemSpatialCell128;
public AEItemDefinition itemFacade;
public AEItemDefinition itemCrystalSeed;
public AEItemDefinition itemEncodedPattern;
public AEItemDefinition itemColorApplicator;
public AEColoredItemDefinition itemPaintBall;
public AEColoredItemDefinition itemLumenPaintBall;
}

View File

@ -1,143 +0,0 @@
/*
* 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.definitions;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IMaterials}
*/
@Deprecated
public class Materials
{
public AEItemDefinition materialCell2SpatialPart;
public AEItemDefinition materialCell16SpatialPart;
public AEItemDefinition materialCell128SpatialPart;
public AEItemDefinition materialSilicon;
public AEItemDefinition materialSkyDust;
public AEItemDefinition materialCalcProcessorPress;
public AEItemDefinition materialEngProcessorPress;
public AEItemDefinition materialLogicProcessorPress;
public AEItemDefinition materialCalcProcessorPrint;
public AEItemDefinition materialEngProcessorPrint;
public AEItemDefinition materialLogicProcessorPrint;
public AEItemDefinition materialSiliconPress;
public AEItemDefinition materialSiliconPrint;
public AEItemDefinition materialNamePress;
public AEItemDefinition materialLogicProcessor;
public AEItemDefinition materialCalcProcessor;
public AEItemDefinition materialEngProcessor;
public AEItemDefinition materialBasicCard;
public AEItemDefinition materialAdvCard;
public AEItemDefinition materialPurifiedCertusQuartzCrystal;
public AEItemDefinition materialPurifiedNetherQuartzCrystal;
public AEItemDefinition materialPurifiedFluixCrystal;
public AEItemDefinition materialCell1kPart;
public AEItemDefinition materialCell4kPart;
public AEItemDefinition materialCell16kPart;
public AEItemDefinition materialCell64kPart;
public AEItemDefinition materialEmptyStorageCell;
public AEItemDefinition materialCardRedstone;
public AEItemDefinition materialCardSpeed;
public AEItemDefinition materialCardCapacity;
public AEItemDefinition materialCardFuzzy;
public AEItemDefinition materialCardInverter;
public AEItemDefinition materialCardCrafting;
public AEItemDefinition materialEnderDust;
public AEItemDefinition materialFlour;
public AEItemDefinition materialGoldDust;
public AEItemDefinition materialIronDust;
public AEItemDefinition materialFluixDust;
public AEItemDefinition materialCertusQuartzDust;
public AEItemDefinition materialNetherQuartzDust;
public AEItemDefinition materialMatterBall;
public AEItemDefinition materialIronNugget;
public AEItemDefinition materialCertusQuartzCrystal;
public AEItemDefinition materialCertusQuartzCrystalCharged;
public AEItemDefinition materialFluixCrystal;
public AEItemDefinition materialFluixPearl;
public AEItemDefinition materialWoodenGear;
public AEItemDefinition materialWireless;
public AEItemDefinition materialWirelessBooster;
public AEItemDefinition materialAnnihilationCore;
public AEItemDefinition materialFormationCore;
public AEItemDefinition materialSingularity;
public AEItemDefinition materialQESingularity;
public AEItemDefinition materialBlankPattern;
}

View File

@ -1,106 +0,0 @@
/*
* 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.definitions;
import appeng.api.util.AEColoredItemDefinition;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IParts}
*/
@Deprecated
public class Parts
{
public AEColoredItemDefinition partCableSmart;
public AEColoredItemDefinition partCableCovered;
public AEColoredItemDefinition partCableGlass;
public AEColoredItemDefinition partCableDense;
public AEColoredItemDefinition partLumenCableSmart;
public AEColoredItemDefinition partLumenCableCovered;
public AEColoredItemDefinition partLumenCableGlass;
public AEColoredItemDefinition partLumenCableDense;
public AEItemDefinition partQuartzFiber;
public AEItemDefinition partToggleBus;
public AEItemDefinition partInvertedToggleBus;
public AEItemDefinition partStorageBus;
public AEItemDefinition partImportBus;
public AEItemDefinition partExportBus;
public AEItemDefinition partInterface;
public AEItemDefinition partLevelEmitter;
public AEItemDefinition partAnnihilationPlane;
public AEItemDefinition partFormationPlane;
public AEItemDefinition partP2PTunnelME;
public AEItemDefinition partP2PTunnelRedstone;
public AEItemDefinition partP2PTunnelItems;
public AEItemDefinition partP2PTunnelLiquids;
public AEItemDefinition partP2PTunnelEU;
public AEItemDefinition partP2PTunnelRF;
public AEItemDefinition partP2PTunnelLight;
public AEItemDefinition partCableAnchor;
public AEItemDefinition partMonitor;
public AEItemDefinition partSemiDarkMonitor;
public AEItemDefinition partDarkMonitor;
public AEItemDefinition partInterfaceTerminal;
public AEItemDefinition partPatternTerminal;
public AEItemDefinition partCraftingTerminal;
public AEItemDefinition partTerminal;
public AEItemDefinition partStorageMonitor;
public AEItemDefinition partConversionMonitor;
}

View File

@ -24,7 +24,7 @@
package appeng.api.events;
import cpw.mods.fml.common.eventhandler.Event;
import net.minecraftforge.fml.common.eventhandler.Event;
import appeng.api.features.ILocatable;
@ -40,7 +40,7 @@ public class LocatableEventAnnounce extends Event
public final ILocatable target;
public final LocatableEvent change;
public LocatableEventAnnounce( ILocatable o, LocatableEvent ev )
public LocatableEventAnnounce( final ILocatable o, final LocatableEvent ev )
{
this.target = o;
this.change = ev;
@ -48,7 +48,14 @@ public class LocatableEventAnnounce extends Event
public enum LocatableEvent
{
Register, // Adds the locatable to the registry
Unregister // Removes the locatable from the registry
/**
* Adds the locatable to the registry
*/
REGISTER,
/**
* Removes the locatable from the registry
*/
UNREGISTER
}
}

View File

@ -29,7 +29,7 @@ public class AppEngException extends Exception
private static final long serialVersionUID = -9051434206368465494L;
public AppEngException( String t )
public AppEngException( final String t )
{
super( t );
}

View File

@ -1,9 +1,27 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.exceptions;
public class CoreInaccessibleException extends RuntimeException
{
public CoreInaccessibleException( String message )
public CoreInaccessibleException( final String message )
{
super( message );
}

View File

@ -21,38 +21,36 @@
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.storage;
package appeng.api.exceptions;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.IAppEngApi;
import appeng.api.networking.security.BaseActionSource;
import appeng.api.networking.IGridNode;
/**
* A Registry of External Storage handlers.
* Exception occurred because of an already existing connection between the two {@link IGridNode}s
*
* Do not implement obtain via {@link IAppEngApi}.registries().getExternalStorageRegistry()
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
*
* @author yueh
* @version rv3
* @since rv3
*/
public interface IExternalStorageRegistry
public class ExistingConnectionException extends FailedConnection
{
/**
* A registry for StorageBus interactions
*
* @param esh storage handler
*/
void addExternalStorageInterface( IExternalStorageHandler esh );
private static final long serialVersionUID = 2975450379720353182L;
private static final String DEFAULT_MESSAGE = "Connection between both nodes already exists.";
/**
* @param te tile entity
* @param opposite direction
* @param channel channel
* @param mySrc source
*
* @return the handler for a given tile / forge direction
*/
IExternalStorageHandler getHandler( TileEntity te, ForgeDirection opposite, StorageChannel channel, BaseActionSource mySrc );
}
public ExistingConnectionException()
{
super( DEFAULT_MESSAGE );
}
public ExistingConnectionException( String message )
{
super( message );
}
}

View File

@ -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 );
}
}

View File

@ -1,9 +1,27 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.exceptions;
public class MissingDefinition extends RuntimeException
{
public MissingDefinition( String message )
public MissingDefinition( final String message )
{
super( message );
}

View File

@ -29,7 +29,7 @@ public class MissingIngredientError extends Exception
private static final long serialVersionUID = -998858343831371697L;
public MissingIngredientError( String n )
public MissingIngredientError( final String n )
{
super( n );
}

View File

@ -29,7 +29,7 @@ public class ModNotInstalled extends Exception
private static final long serialVersionUID = -9052435206368425494L;
public ModNotInstalled( String t )
public ModNotInstalled( final String t )
{
super( t );
}

View File

@ -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 );
}
}

View File

@ -29,7 +29,7 @@ public class RecipeError extends Exception
private static final long serialVersionUID = -6602870588617670262L;
public RecipeError( String n )
public RecipeError( final String n )
{
super( n );
}

View File

@ -29,7 +29,7 @@ public class RegistrationError extends Exception
private static final long serialVersionUID = -6602870588617670263L;
public RegistrationError( String n )
public RegistrationError( final String n )
{
super( n );
}

View File

@ -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 );
}
}

View File

@ -24,13 +24,17 @@
package appeng.api.features;
import java.util.Optional;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
/**
* Registration Records for {@link IGrinderRegistry}
*/
public interface IGrinderEntry
public interface IGrinderRecipe
{
/**
@ -38,66 +42,40 @@ public interface IGrinderEntry
*
* @return input that the grinder will accept.
*/
@Nonnull
ItemStack getInput();
/**
* lets you change the grinder recipe by changing its input.
*
* @param input input item
*/
void setInput( ItemStack input );
/**
* gets the current output
*
* @return output that the grinder will produce
*/
@Nonnull
ItemStack getOutput();
/**
* allows you to change the output.
* gets the current output
*
* @param output output item
* @return output that the grinder will produce
*/
void setOutput( ItemStack output );
@Nonnull
Optional<ItemStack> getOptionalOutput();
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getOptionalOutput();
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getSecondOptionalOutput();
/**
* stack, and 0.0-1.0 chance that it will be generated.
*
* @param output output item
* @param chance generation chance
*/
void setOptionalOutput( ItemStack output, float chance );
Optional<ItemStack> getSecondOptionalOutput();
/**
* 0.0 - 1.0 the chance that the optional output will be generated.
*
* @return chance of optional output
*/
@Nonnull
float getOptionalChance();
/**
* stack, and 0.0-1.0 chance that it will be generated.
*
* @param output second optional output item
* @param chance second optional output chance
*/
void setSecondOptionalOutput( ItemStack output, float chance );
/**
* 0.0 - 1.0 the chance that the optional output will be generated.
*
@ -106,16 +84,10 @@ public interface IGrinderEntry
float getSecondOptionalChance();
/**
* Energy cost, in turns.
* Amount of turns required to process the item.
*
* @return number of turns it takes to produce the output from the input.
*/
int getEnergyCost();
int getRequiredTurns();
/**
* Allows you to adjust the number of turns
*
* @param c number of turns to produce output.
*/
void setEnergyCost( int c );
}

View File

@ -24,7 +24,10 @@
package appeng.api.features;
import java.util.List;
import java.util.Collection;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.minecraft.item.ItemStack;
@ -36,51 +39,90 @@ public interface IGrinderRegistry
{
/**
* Current list of registered recipes, you can modify this if you want too.
* An immutable list of the currently registered recipes.
*
* @return currentlyRegisteredRecipes
*/
List<IGrinderEntry> getRecipes();
@Nonnull
Collection<IGrinderRecipe> getRecipes();
/**
* add a new recipe the easy way, in &#8594; out, how many turns., duplicates will not be added.
* Add a new recipe with a single input and output and how many turns it requires.
*
* Will ignore duplicate recipes with the same input item.
*
* @param in input
* @param out output
* @param turns amount of turns to turn the input into the output
* @param in The {@link ItemStack} to grind.
* @param out The {@link ItemStack} to output.
* @param turns Amount of turns to turn the input into the output, with turns > 0.
*/
void addRecipe( ItemStack in, ItemStack out, int turns );
void addRecipe( @Nonnull ItemStack in, @Nonnull ItemStack out, int turns );
/**
* Add a new recipe with an input, output and a single optional output.
*
* Will ignore duplicate recipes with the same input item.
*
* @param in The {@link ItemStack} to grind.
* @param out The {@link ItemStack} to output.
* @param optional The optional {@link ItemStack} to output of a certain chance.
* @param chance Chance to get the optional output within 0.0 - 1.0
* @param turns Amount of turns to turn the input into the output, with turns > 0.
*/
void addRecipe( @Nonnull ItemStack in, @Nonnull ItemStack out, @Nonnull ItemStack optional, float chance, int turns );
/**
* add a new recipe with optional outputs, duplicates will not be added.
*
* Will ignore duplicate recipes with the same input item.
*
* @param in input
* @param out output
* @param optional optional output
* @param chance chance to get the optional output within 0.0 - 1.0
* @param turns amount of turns to turn the input into the outputs
* @param in The {@link ItemStack} to grind.
* @param out The {@link ItemStack} to output.
* @param optional The first optional {@link ItemStack} to output of a certain chance.
* @param chance Chance to get the first optional output within 0.0 - 1.0
* @param optional2 The second optional {@link ItemStack} to output of a certain chance.
* @param chance2 chance to get the second optional output within 0.0 - 1.0
* @param turns Amount of turns to turn the input into the output, with turns > 0.
*
*/
void addRecipe( ItemStack in, ItemStack out, ItemStack optional, float chance, int turns );
void addRecipe( @Nonnull ItemStack in, @Nonnull ItemStack out, @Nonnull ItemStack optional, float chance, @Nonnull ItemStack optional2, float chance2, int turns );
/**
* add a new recipe with optional outputs, duplicates will not be added.
*
* @param in input
* @param out output
* @param optional optional output
* @param chance chance to get the optional output within 0.0 - 1.0
* @param optional2 second optional output
* @param chance2 chance to get the second optional output within 0.0 - 1.0
* @param turns amount of turns to turn the input into the outputs
* Remove the specific from the recipe list.
*
* @param recipe The recipe to be removed.
* @return true, if it was removed
*/
void addRecipe( ItemStack in, ItemStack out, ItemStack optional, float chance, ItemStack optional2, float chance2, int turns );
boolean removeRecipe( @Nonnull IGrinderRecipe recipe );
/**
* Searches for a recipe for a given input, and returns it.
*
* @param input input
* @param input The {@link ItemStack} to be grinded.
*
* @return identified recipe or null
*/
IGrinderEntry getRecipeForInput( ItemStack input );
@Nullable
IGrinderRecipe getRecipeForInput( @Nonnull ItemStack input );
/**
* Allows do add a custom ratio from an ore to dust when being grinded.
*
* The default ratio is 1 ore to 2 dusts.
*
* These have to be added before any recipe is registered. Otherwise it will use the default value.
*
* @param oredictName The name of the ore;
* @param ratio The amount, must be > 0;
*/
void addDustRatio( @Nonnull String oredictName, int ratio );
/**
* Remove a custom ratio for a specific ore name.
*
* Will use the default of 2 value afterwards.
*
* @param oredictName The name of the ore;
*/
boolean removeDustRatio( @Nonnull String oredictName );
}

View File

@ -1,13 +1,31 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.features;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
import com.google.common.base.Optional;
/**
* Registration Records for {@link IInscriberRegistry}

View File

@ -1,7 +1,26 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.features;
import java.util.Collection;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;

View File

@ -1,8 +1,27 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.features;
import java.util.List;
import java.util.Collection;
import java.util.Set;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
@ -12,22 +31,26 @@ import net.minecraft.item.ItemStack;
* Lets you manipulate Inscriber Recipes, by adding or editing existing ones.
*
* @author thatsIch
* @version rv2
* @version rv3
* @since rv2
*/
public interface IInscriberRegistry
{
/**
* Current list of registered recipes, you can modify this if you want too.
* Will never contain a null recipe
* An immutable copy of currently registered recipes.
*
* Use the provided methods to actually modify the inscriber recipes.
*
* @see IInscriberRegistry#addRecipe(IInscriberRecipe)
* @see IInscriberRegistry#removeRecipe(IInscriberRecipe)
*
* @return currentlyRegisteredRecipes
*/
@Nonnull
List<IInscriberRecipe> getRecipes();
Collection<IInscriberRecipe> getRecipes();
/**
* Optional items which are used in the top or bottom slot
* Optional items which are used in the top or bottom slot.
*
* @return set of all optional items
*/
@ -35,7 +58,7 @@ public interface IInscriberRegistry
Set<ItemStack> getOptionals();
/**
* Get all registered items which are valid inputs
* Get all registered items which are valid inputs.
*
* @return set of all input items
*/
@ -43,7 +66,7 @@ public interface IInscriberRegistry
Set<ItemStack> getInputs();
/**
* Extensible way to create an inscriber recipe
* Extensible way to create an inscriber recipe.
*
* @return builder for inscriber recipes
*/
@ -61,9 +84,10 @@ public interface IInscriberRegistry
void addRecipe( IInscriberRecipe recipe );
/**
* Removes a recipe from the registry
* Removes all equal recipes from the registry.
*
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense.
*/
void removeRecipe( IInscriberRecipe toBeRemovedRecipe );
}

View File

@ -29,18 +29,6 @@ package appeng.api.features;
*/
public interface ILocatableRegistry
{
/**
* Attempts to find the object with the serial specified, if it can it
* returns the object.
*
* @param serial serial
*
* @return requestedObject, or null
*
* @deprecated use {@link ILocatableRegistry#getLocatableBy(long)}
*/
@Deprecated
Object findLocatableBySerial( long serial );
/**
* Gets the {@link ILocatable} with the registered serial, if available

View File

@ -33,7 +33,7 @@ public interface IMatterCannonAmmoRegistry
/**
* register a new ammo, generally speaking this is based off of atomic weight to make it easier to guess at
*
* @param ammo new ammo
* @param ammo new ammo
* @param weight atomic weight
*/
void registerAmmo( ItemStack ammo, double weight );

View File

@ -42,9 +42,9 @@ public interface INetworkEncodable
/**
* Encode the wireless frequency via the Controller.
*
* @param item the wireless terminal.
* @param item the wireless terminal.
* @param encKey the wireless encryption key.
* @param name null for now.
* @param name null for now.
*/
void setEncryptionKey( ItemStack item, String encKey, String name );
}

View File

@ -42,7 +42,7 @@ public interface IP2PTunnelRegistry
* attunements for AE's P2P Tunnels
*
* @param trigger - the item which triggers attunement. Nullable, but then ignored
* @param type - the type of tunnel. Nullable, but then ignored
* @param type - the type of tunnel. Nullable, but then ignored
*/
void addNewAttunement( @Nullable ItemStack trigger, @Nullable TunnelType type );

View File

@ -1,7 +1,7 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
* Copyright (c) 2013 - 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
@ -24,10 +24,12 @@
package appeng.api.features;
import net.minecraft.entity.player.EntityPlayer;
import javax.annotation.Nullable;
import com.mojang.authlib.GameProfile;
import net.minecraft.entity.player.EntityPlayer;
/**
* Maintains a save specific list of userids and username combinations this greatly simplifies storage internally and
@ -55,5 +57,6 @@ public interface IPlayerRegistry
*
* @return PlayerEntity, or null if the player could not be found.
*/
@Nullable
EntityPlayer findPlayer( int playerID );
}

View File

@ -1,7 +1,7 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
* Copyright (c) 2013 - 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
@ -24,11 +24,19 @@
package appeng.api.features;
import javax.annotation.Nullable;
import appeng.api.recipes.ICraftHandler;
import appeng.api.recipes.IRecipeHandler;
import appeng.api.recipes.ISubItemResolver;
/**
* @author AlgorithmX2
* @author thatsIch
* @version rv3 - 10.08.2015
* @since rv0
*/
public interface IRecipeHandlerRegistry
{
@ -37,7 +45,7 @@ public interface IRecipeHandlerRegistry
*
* MUST BE CALLED IN PRE-INIT
*
* @param name name of crafthandler
* @param name name of crafthandler
* @param handler class of crafthandler
*/
void addNewCraftHandler( String name, Class<? extends ICraftHandler> handler );
@ -56,6 +64,7 @@ public interface IRecipeHandlerRegistry
*
* @return A recipe handler by name, returns null on failure.
*/
@Nullable
ICraftHandler getCraftHandlerFor( String name );
/**
@ -67,9 +76,10 @@ public interface IRecipeHandlerRegistry
* resolve sub items by name.
*
* @param nameSpace namespace of item
* @param itemName full name of item
* @param itemName full name of item
*
* @return ResolverResult or ResolverResultSet
* @return ResolverResult or ResolverResultSet or null if could not resolve
*/
@Nullable
Object resolveItem( String nameSpace, String itemName );
}

View File

@ -24,10 +24,11 @@
package appeng.api.features;
import appeng.api.AEInjectable;
import appeng.api.movable.IMovableRegistry;
import appeng.api.networking.IGridCacheRegistry;
import appeng.api.parts.IPartModels;
import appeng.api.storage.ICellRegistry;
import appeng.api.storage.IExternalStorageRegistry;
/**
@ -36,6 +37,7 @@ import appeng.api.storage.IExternalStorageRegistry;
* @version rv2
* @since rv0
*/
@AEInjectable
public interface IRegistryContainer
{
@ -49,12 +51,6 @@ public interface IRegistryContainer
*/
IGridCacheRegistry gridCache();
/**
* Add additional storage bus handlers to improve interplay with mod blocks that contains special inventories that
* function unlike vanilla chests. AE uses this internally for barrels, DSU's, quantum chests, AE Networks and more.
*/
IExternalStorageRegistry externalStorage();
/**
* Add additional special comparison functionality, AE Uses this internally for Bees.
*/
@ -109,4 +105,9 @@ public interface IRegistryContainer
* get access to the world-gen api.
*/
IWorldGen worldgen();
/**
* Register your IPart models before using them.
*/
IPartModels partModels();
}

View File

@ -47,8 +47,8 @@ public interface IWirelessTermHandler extends INetworkEncodable
* use an amount of power, in AE units
*
* @param amount is in AE units ( 5 per MJ ), if you return false, the item should be dead and return false for
* hasPower
* @param is wireless terminal
* hasPower
* @param is wireless terminal
*
* @return true if wireless terminal uses power
*/

View File

@ -41,6 +41,6 @@ public interface IWorldGen
enum WorldGenType
{
CertusQuartz, ChargedCertusQuartz, Meteorites
CERTUS_QUARTZ, CHARGED_CERTUS_QUARTZ, METEORITES
}
}

View File

@ -1,3 +1,21 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
package appeng.api.features;
@ -6,10 +24,10 @@ public enum InscriberProcessType
/**
* uses the optionals as catalyst
*/
Inscribe,
INSCRIBE,
/**
* spends the optionals
*/
Press
PRESS
}

View File

@ -41,7 +41,7 @@ public interface ICraftingPatternItem
* Access Details about a pattern
*
* @param is pattern
* @param w crafting world
* @param w crafting world
*
* @return details of pattern
*/

View File

@ -33,7 +33,7 @@ public class TransitionResult
public final boolean success;
public final double energyUsage;
public TransitionResult( boolean _success, double power )
public TransitionResult( final boolean _success, final double power )
{
this.success = _success;
this.energyUsage = power;

View File

@ -25,6 +25,7 @@ package appeng.api.implementations.guiobjects;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@ -35,5 +36,5 @@ import net.minecraft.world.World;
public interface IGuiItem
{
IGuiItemObject getGuiObject( ItemStack is, World world, int x, int y, int z );
IGuiItemObject getGuiObject( ItemStack is, World world, BlockPos pos );
}

View File

@ -26,6 +26,7 @@ package appeng.api.implementations.items;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
/**
@ -39,11 +40,9 @@ public interface IAEWrench
* Check if the wrench can be used.
*
* @param player wrenching player
* @param x x pos of wrenched block
* @param y y pos of wrenched block
* @param z z pos of wrenched block
* @param pos of block.
*
* @return true if wrench can be used
*/
boolean canWrench( ItemStack wrench, EntityPlayer player, int x, int y, int z );
boolean canWrench( ItemStack wrench, EntityPlayer player, BlockPos pos );
}

View File

@ -26,10 +26,10 @@ package appeng.api.implementations.items;
import java.util.EnumSet;
import net.minecraft.item.ItemStack;
import com.mojang.authlib.GameProfile;
import net.minecraft.item.ItemStack;
import appeng.api.config.SecurityPermissions;
import appeng.api.features.IPlayerRegistry;
import appeng.api.networking.security.ISecurityRegistry;
@ -39,7 +39,7 @@ public interface IBiometricCard
{
/**
* Set the {@link GameProfile} to null, to clear it.
* Set the {@link GameProfile} to null, to clear it.
*/
void setProfile( ItemStack itemStack, GameProfile username );
@ -67,7 +67,7 @@ public interface IBiometricCard
/**
* remove a permission from the item stack.
*
* @param itemStack card
* @param itemStack card
* @param permission to be removed permission
*/
void removePermission( ItemStack itemStack, SecurityPermissions permission );
@ -75,7 +75,7 @@ public interface IBiometricCard
/**
* add a permission to the item stack.
*
* @param itemStack card
* @param itemStack card
* @param permission to be added permission
*/
void addPermission( ItemStack itemStack, SecurityPermissions permission );
@ -84,8 +84,8 @@ public interface IBiometricCard
* lets you handle submission of security values on the card for custom behavior.
*
* @param registry security registry
* @param pr player registry
* @param is card
* @param pr player registry
* @param is card
*/
void registerPermissions( ISecurityRegistry registry, IPlayerRegistry pr, ItemStack is );
}

View File

@ -41,11 +41,11 @@ public interface IMemoryCard
* Configures the data stored on the memory card, the SettingsName, will be
* localized when displayed.
*
* @param is item
* @param is item
* @param SettingsName unlocalized string that represents the tile entity.
* @param data may contain a String called "tooltip" which is is a
* unlocalized string displayed after the settings name, optional
* but can be used to add details to the card for later.
* @param data may contain a String called "tooltip" which is is a
* unlocalized string displayed after the settings name, optional
* but can be used to add details to the card for later.
*/
void setMemoryCardContents( ItemStack is, String SettingsName, NBTTagCompound data );
@ -72,7 +72,7 @@ public interface IMemoryCard
* notify the user of a outcome related to the memory card.
*
* @param player that used the card.
* @param msg which message to send.
* @param msg which message to send.
*/
void notifyUser( EntityPlayer player, MemoryCardMessages msg );
}

View File

@ -89,10 +89,10 @@ public interface ISpatialStorageCell
/**
* Perform a spatial swap with the contents of the cell, and the world.
*
* @param is spatial storage cell
* @param w world of spatial
* @param min min coord
* @param max max coord
* @param is spatial storage cell
* @param w world of spatial
* @param min min coord
* @param max max coord
* @param doTransition transition
*
* @return result of transition

View File

@ -53,18 +53,6 @@ public interface IStorageCell extends ICellWorkbenchItem
*/
int getBytes( ItemStack cellItem );
/**
* Determines the number of bytes used for any type included on the cell.
*
* @param cellItem item
*
* @return number of bytes
*
* @deprecated use {@link IStorageCell#getBytesPerType(ItemStack)}
*/
@Deprecated
int BytePerType( ItemStack cellItem );
/**
* Determines the number of bytes used for any type included on the cell.
*
@ -89,7 +77,7 @@ public interface IStorageCell extends ICellWorkbenchItem
* don't care, just return false; As the handler for this type of cell is
* still the default cells, the normal AE black list is also applied.
*
* @param cellItem item
* @param cellItem item
* @param requestedAddition requested addition
*
* @return true to preventAdditionOfItem

View File

@ -27,7 +27,7 @@ package appeng.api.implementations.parts;
import java.util.EnumSet;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraft.util.EnumFacing;
import appeng.api.networking.IGridHost;
import appeng.api.parts.BusSupport;
@ -35,10 +35,11 @@ import appeng.api.parts.IPart;
import appeng.api.parts.IPartHost;
import appeng.api.util.AECableType;
import appeng.api.util.AEColor;
import appeng.api.util.AEPartLocation;
/**
* Implemented on the {@link IPart}s cable objects that can be placed at {@link ForgeDirection}.UNKNOWN in
* Implemented on the {@link IPart}s cable objects that can be placed at {@link AEPartLocation}.UNKNOWN in
* {@link IPartHost}s
*/
public interface IPartCable extends IPart, IGridHost
@ -75,7 +76,7 @@ public interface IPartCable extends IPart, IGridHost
*
* @param sides sides of cable
*/
void setValidSides( EnumSet<ForgeDirection> sides );
void setValidSides( EnumSet<EnumFacing> sides );
/**
* used to tests if a cable connects to neighbors visually.
@ -84,5 +85,6 @@ public interface IPartCable extends IPart, IGridHost
*
* @return true if this side is currently connects to an external block.
*/
boolean isConnected( ForgeDirection side );
boolean isConnected( EnumFacing side );
}

View File

@ -25,7 +25,7 @@ package appeng.api.implementations.tiles;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraft.util.EnumFacing;
import appeng.api.util.AEColor;
@ -35,5 +35,5 @@ public interface IColorableTile
AEColor getColor();
boolean recolourBlock( ForgeDirection side, AEColor colour, EntityPlayer who );
boolean recolourBlock( EnumFacing side, AEColor colour, EntityPlayer who );
}

View File

@ -25,7 +25,7 @@ package appeng.api.implementations.tiles;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraft.util.EnumFacing;
import appeng.api.networking.crafting.ICraftingPatternDetails;
@ -36,13 +36,13 @@ public interface ICraftingMachine
/**
* inserts a crafting plan, and the necessary items into the crafting machine.
*
* @param patternDetails details of pattern
* @param table crafting table
* @param patternDetails details of pattern
* @param table crafting table
* @param ejectionDirection ejection direction
*
* @return if it was accepted, all or nothing.
*/
boolean pushPattern( ICraftingPatternDetails patternDetails, InventoryCrafting table, ForgeDirection ejectionDirection );
boolean pushPattern( ICraftingPatternDetails patternDetails, InventoryCrafting table, EnumFacing ejectionDirection );
/**
* check if the crafting machine is accepting pushes via pushPattern, if this is false, all calls to push will fail,

View File

@ -24,7 +24,7 @@
package appeng.api.implementations.tiles;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraft.util.EnumFacing;
/**
@ -55,5 +55,5 @@ public interface ICrankable
/**
* @return true if the crank can attach on the given side.
*/
boolean canCrankAttach( ForgeDirection directionToCrank );
boolean canCrankAttach( EnumFacing directionToCrank );
}

View File

@ -27,7 +27,7 @@ package appeng.api.implementations.tiles;
import appeng.api.networking.energy.IEnergySource;
public interface IMEChest extends IChestOrDrive, ITileStorageMonitorable, IEnergySource
public interface IMEChest extends IChestOrDrive, IEnergySource
{
}

View File

@ -25,6 +25,7 @@ package appeng.api.movable;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@ -36,7 +37,7 @@ public interface IMovableHandler
* that single entity, you cannot opt out of single entities.
*
* @param myClass tile entity class
* @param tile tile entity
* @param tile tile entity
*
* @return true if it can handle moving
*/
@ -50,20 +51,22 @@ public interface IMovableHandler
* Potential Example:
*
* <pre>
* {@code
* Chunk c = world.getChunkFromBlockCoords( x, z ); c.setChunkBlockTileEntity( x
* & 0xF, y + y, z & 0xF, tile );
* {
* &#064;code
* Chunk c = world.getChunkFromBlockCoords( x, z );
* c.setChunkBlockTileEntity( x &amp; 0xF, y + y, z &amp; 0xF, tile );
*
* if ( c.isChunkLoaded ) { world.addTileEntity( tile ); world.markBlockForUpdate( x,
* y, z ); }
* if( c.isChunkLoaded )
* {
* world.addTileEntity( tile );
* world.markBlockForUpdate( x, y, z );
* }
* }
* </pre>
*
* @param tile to be moved tile
* @param tile to be moved tile
* @param world world of tile
* @param x x coord of tile
* @param y y coord of tile
* @param z z coord of tile
* @param newPosition the new location
*/
void moveTile( TileEntity tile, World world, int x, int y, int z );
void moveTile( TileEntity tile, World world, BlockPos newPosition );
}

View File

@ -56,7 +56,8 @@ public enum GridFlags
DENSE_CAPACITY,
/**
* This block is part of a multiblock, used in conjunction with REQUIRE_CHANNEL, and {@link IGridMultiblock} see this
* This block is part of a multiblock, used in conjunction with REQUIRE_CHANNEL, and {@link IGridMultiblock} see
* this
* interface for details.
*/
MULTIBLOCK,

View File

@ -29,5 +29,5 @@ public enum GridNotification
/**
* the visible connections for this node have changed, useful for cable.
*/
ConnectionsChanged,
CONNECTIONS_CHANGED,
}

View File

@ -27,7 +27,7 @@ package appeng.api.networking;
import java.util.EnumSet;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraft.util.EnumFacing;
import appeng.api.parts.IPart;
import appeng.api.util.AEColor;
@ -85,7 +85,7 @@ public interface IGridBlock
/**
* Update Blocks network/connection/booting status. grid,
*
* @param grid grid
* @param grid grid
* @param channelsInUse used channels
*/
void setNetworkStatus( IGrid grid, int channelsInUse );
@ -94,7 +94,7 @@ public interface IGridBlock
* Determine which sides of the block can be connected too, only used when isWorldAccessible returns true, not used
* for {@link IPart} implementations.
*/
EnumSet<ForgeDirection> getConnectableSides();
EnumSet<EnumFacing> getConnectableSides();
/**
* @return the IGridHost for the node, this will be an IGridPart or a TileEntity generally speaking.

View File

@ -48,7 +48,7 @@ public interface IGridCache
* information, do it on the next updateTick.
*
* @param gridNode removed from that grid
* @param machine to be removed machine
* @param machine to be removed machine
*/
void removeNode( IGridNode gridNode, IGridHost machine );
@ -60,7 +60,7 @@ public interface IGridCache
* information, do it on the next updateTick.
*
* @param gridNode added to grid node
* @param machine to be added machine
* @param machine to be added machine
*/
void addNode( IGridNode gridNode, IGridHost machine );

View File

@ -24,7 +24,7 @@
package appeng.api.networking;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.util.AEPartLocation;
/**
@ -54,7 +54,7 @@ public interface IGridConnection
*
* @return the direction of the connection, only valid for in world connections.
*/
ForgeDirection getDirection( IGridNode gridNode );
AEPartLocation getDirection( IGridNode gridNode );
/**
* by destroying a connection you may create new grids, and trigger un-expected behavior, you should only destroy

View File

@ -25,10 +25,10 @@ package appeng.api.networking;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.parts.IPart;
import appeng.api.util.AECableType;
import appeng.api.util.AEPartLocation;
/**
@ -44,12 +44,12 @@ public interface IGridHost
* Grid when your block is ready.
*
* @param dir feel free to ignore this, most blocks will use the same node
* for every side.
* for every side.
*
* @return a new IGridNode, create these with
* AEApi.INSTANCE().createGridNode( MyIGridBlock )
*/
IGridNode getGridNode( ForgeDirection dir );
IGridNode getGridNode( AEPartLocation dir );
/**
* Determines how cables render when they connect to this block. Priority is
@ -57,7 +57,7 @@ public interface IGridHost
*
* @param dir direction
*/
AECableType getCableConnectionType( ForgeDirection dir );
AECableType getCableConnectionType( AEPartLocation dir );
/**
* break this host, its violating security rules, just break your block, or part.

View File

@ -28,9 +28,9 @@ import java.util.EnumSet;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.IAppEngApi;
import appeng.api.util.AEPartLocation;
import appeng.api.util.IReadOnlyCollection;
@ -89,9 +89,9 @@ public interface IGridNode
World getWorld();
/**
* @return a set of the connected sides, UNKNOWN represents an invisible connection
* @return a set of the connected sides, INTERNAL represents an invisible connection
*/
EnumSet<ForgeDirection> getConnectedSides();
EnumSet<AEPartLocation> getConnectedSides();
/**
* lets you iterate a nodes connections
@ -119,7 +119,7 @@ public interface IGridNode
*
* Important: You must call this before updateState.
*
* @param name nbt name
* @param name nbt name
* @param nodeData to be loaded data
*/
void loadFromNBT( String name, NBTTagCompound nodeData );
@ -128,7 +128,7 @@ public interface IGridNode
* this should be called for each node you maintain, you can save all your nodes to the same tag with different
* names, if you fail to complete the load / save procedure, network state may be lost between game load/saves.
*
* @param name nbt name
* @param name nbt name
* @param nodeData to be saved data
*/
void saveToNBT( String name, NBTTagCompound nodeData );
@ -155,7 +155,8 @@ public interface IGridNode
/**
* tell the node who was responsible for placing it, failure to do this may result in in-compatibility with the
* security system. Called instead of loadFromNBT when initially placed, once set never required again, the value is saved with the Node NBT.
* security system. Called instead of loadFromNBT when initially placed, once set never required again, the value is
* saved with the Node NBT.
*
* @param playerID new player id
*/

View File

@ -26,11 +26,11 @@ package appeng.api.networking.crafting;
import java.util.concurrent.Future;
import net.minecraft.world.World;
import com.google.common.collect.ImmutableCollection;
import com.google.common.collect.ImmutableSet;
import net.minecraft.world.World;
import appeng.api.networking.IGrid;
import appeng.api.networking.IGridCache;
import appeng.api.networking.security.BaseActionSource;
@ -42,9 +42,9 @@ public interface ICraftingGrid extends IGridCache
/**
* @param whatToCraft requested craft
* @param world crafting world
* @param slot slot index
* @param details pattern details
* @param world crafting world
* @param slot slot index
* @param details pattern details
*
* @return a collection of crafting patterns for the item in question.
*/
@ -53,12 +53,12 @@ public interface ICraftingGrid extends IGridCache
/**
* Begin calculating a crafting job.
*
* @param world crafting world
* @param grid network
* @param world crafting world
* @param grid network
* @param actionSrc source
* @param craftWhat result
* @param callback callback
* -- optional
* @param callback callback
* -- optional
*
* @return a future which will at an undetermined point in the future get you the {@link ICraftingJob} do not wait
* on this, your be waiting forever.
@ -68,13 +68,14 @@ public interface ICraftingGrid extends IGridCache
/**
* Submit the job to the Crafting system for processing.
*
* @param job - the crafting job from beginCraftingJob
* @param job - the crafting job from beginCraftingJob
* @param requestingMachine - a machine if its being requested via automation, may be null.
* @param target - can be null
* @param prioritizePower - if cpu is null, this determine if the system should prioritize power, or if it should find the lower
* end cpus, automatic processes generally should pick lower end cpus.
* @param src - the action source to use when starting the job, this will be used for extracting items, should
* usually be the same as the one provided to beginCraftingJob.
* @param target - can be null
* @param prioritizePower - if cpu is null, this determine if the system should prioritize power, or if it should
* find the lower
* end cpus, automatic processes generally should pick lower end cpus.
* @param src - the action source to use when starting the job, this will be used for extracting items, should
* usually be the same as the one provided to beginCraftingJob.
*
* @return null ( if failed ) or an {@link ICraftingLink} other wise, if you send requestingMachine you need to
* properly keep track of this and handle the nbt saving and loading of the object as well as the

View File

@ -38,7 +38,7 @@ public interface ICraftingMedium
* possible the output should be directed.
*
* @param patternDetails details
* @param table crafting table
* @param table crafting table
*
* @return if the pattern was successfully pushed.
*/

View File

@ -48,7 +48,7 @@ public interface ICraftingPatternDetails
/**
* @param slotIndex specific slot index
* @param itemStack item in slot
* @param world crafting world
* @param world crafting world
*
* @return if an item can be used in the specific slot for this pattern.
*/
@ -88,7 +88,7 @@ public interface ICraftingPatternDetails
* Allow using this INSTANCE of the pattern details to preform the crafting action with performance enhancements.
*
* @param craftingInv inventory
* @param world crafting world
* @param world crafting world
*
* @return the crafted ( work bench ) item.
*/

View File

@ -47,7 +47,7 @@ public interface ICraftingRequester extends IActionHost
* be returned.
*
* @param items item
* @param mode action mode
* @param mode action mode
*
* @return unwanted item
*/

View File

@ -42,7 +42,7 @@ public interface ICraftingWatcherHost
* Called when a crafting status changes.
*
* @param craftingGrid current crafting grid
* @param what change
* @param what change
*/
void onRequestChange( ICraftingGrid craftingGrid, IAEItemStack what );
}

View File

@ -37,7 +37,7 @@ public interface IAEPowerStorage extends IEnergySource
/**
* Inject amt, power into the device, it will store what it can, and return the amount unable to be stored.
*
* @param amt to be injected amount
* @param amt to be injected amount
* @param mode action mode
*
* @return amount of power which was unable to be stored

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