Commit Graph

52 Commits

Author SHA1 Message Date
cpw 77c3310711 Zeroth pass on 1.13 2018-09-05 12:56:01 -07:00
cpw d0ab0e166c Well, it works, for a game, now. 2018-09-05 12:30:02 -07:00
cpw baa9dfe55a Things. they work. Obviously still WAY more to do. 2018-09-05 11:53:54 -07:00
cpw 1b1ee6f0b8 more things. Moving ModContainer around. 2018-09-05 11:49:48 -07:00
cpw f942eb184a WOW 😲 such broken. Many brokes. 2018-09-05 11:40:47 -07:00
cpw c1f0e1b68f Holy Moly, it's a big fat commit of broken code! 2018-09-05 11:16:33 -07:00
mezz 5a48ca99b6 Improve performance of FluidRegistry.getBucketFluids 2018-08-01 22:29:10 -07:00
Ben Staddon 2786cd279c Update and clean up Forge fluid render model (#4763) 2018-07-17 20:37:20 -07:00
LexManos 0cf5ef221c Run licenseFormat to apply license header to all files. 2018-07-01 14:17:31 -07:00
Joseph C. Sible 5ace86da12 Make lookupFluidForBlock work for flowing water and lava (#4675) 2018-03-16 22:54:23 -07:00
mezz cf39ff18e1 Add Item.getModId to show which mod is associated with a subitem (#4330) 2017-10-02 22:08:16 -07:00
LexManos a26d89c876 First pass of registry rewrite.
Tests do not run yet.
Things of note:
Removed the idea of substitutions, just register multiple items with the same name they will override each other like a normal map.
Decoupled Forge registries from vanilla classes. They now use bouncer classes. MODDERS SHOULD NEVER USE THESE
Introduced more stringent registry locking. As it sits things are only allowed to be registered during the RegistryEvent.Registry phases!
This is to force modders to split up their registrations, and pave the way for calling these functions multiple times during a single MC lifecycle.
ObjectHolder, Missing Mappings, etc... *should* now work for all registry types, nothing should be special cased to Blocks/Items anymore.
Added optional generic dummy factory to registries, to allow registry creators the ability to dummy more then just Blocks.
Re-worked the ItemStack transformer and applied it to ItemBlock and ItemBlockSpecial. Allowing us to cleanup reflective hacks in Block callbacks.
Registry onAdd callback is now only fired on the ACTIVE registry, fixing any issues of temp registries overriding active objects.
2017-06-23 16:59:57 -05:00
diesieben07 0e9820c51c Clean up Logging (#3953)
# Conflicts:
#	patches/minecraft/net/minecraft/client/renderer/texture/Stitcher.java.patch
#	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
#	patches/minecraft/net/minecraft/entity/EntityList.java.patch
#	patches/minecraft/net/minecraft/tileentity/TileEntity.java.patch
#	src/main/java/net/minecraftforge/oredict/OreDictionary.java
2017-06-22 23:18:49 -07:00
James Mitchell c545b8ecd4 Clean up null issues, add more annotations (#3590) 2017-01-11 15:17:56 -08:00
mezz 6f1a44a405 Remove deprecated Fluid stuff 2016-11-16 16:17:21 -08:00
cpw c8d775c865 In accordance with our stated goal of relicensing Forge to LGPL v2.1, this commit enacts that change. Although it is using the 1.9.4 codebase, it is intended that this branch become public with the 1.10 changes, as such the license will take effect at that time. The three commits from persons who have failed to accept the new license, as documented in #2789, have had their commits reverted. This should complete the license transition. Commits after the commit date of this commit should be considered licensed by LGPLv2.1, as indicated in LICENSE-new.txt. All patches are now considered owned by the Forge project and Forge Development LLC in particular (note that they will not get the license boilerplate, as they are machine generated files). 2016-06-22 23:49:48 -04:00
LexManos cdc86e9af6 Update mappoings snapshot to 20160518 2016-05-18 05:23:30 -07:00
cpw 6e04a6c572 Squashed commit of the following:
commit b3b290aec9d3010a134859da6001ea28a96c2fdc
Merge: c6ce6a0 d803f7d
Author: cpw <cpw@weeksfamily.ca>
Date:   Fri Mar 25 13:28:04 2016 -0400

    Merge branch 'RegistryRework' of https://github.com/LexManos/MinecraftForge into LexManos-RegistryRework

    Implement proper registry slaves. Should help with rollback related issues.

    Missing patch

commit d803f7db76f65db9d27302c9804a643bc853dc22
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 03:36:14 2016 -0700

    Update VillagerRegistry and use it. Should in theory make custom villagers work now. Using string version instead of int id for networking.

commit eb5e5b4b42fdca26d2a104e4dc1e6a3ea3051a7b
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 02:14:16 2016 -0700

    More cleanup.

commit edbc56b2ff314629d0e402709f3cf29fc79c4a3d
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 02:05:23 2016 -0700

    More cleanups, removed deprecated UniqueIdentifier {ResourceLocation now}

commit e2df8d1be3c97601508f83dc97b0e8853fa1e271
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 01:29:19 2016 -0700

    Stupid generics....

commit 46d57dc4677fa5ff3923e64eaccfb33d7e5aad8d
Author: LexManos <LexManos@gmail.com>
Date:   Tue Mar 22 01:00:25 2016 -0700

    Some registry tweaking to provde a non-complicated API modders can use.
2016-04-01 20:56:06 -04:00
RainWarrior 756c58d5cb Removed RenderWorldEvent, encapsulated all public event fields. 2016-03-24 22:22:21 +03:00
LexManos 206a21d563 Fixed errrors in Fluids package. TODO: Make BlockLiquid implement IFluidBlock and REMOVE FluidContainerRegsitry. Everything *should* be able to use IFluidContainer directly. 2016-03-06 16:54:47 -08:00
Bernhard Bonigl 1055206ba8 Add universal bucket 2016-02-16 00:49:01 +01:00
LexManos dcda451a0a Deprecate int IDs in FluidRegistry. Modders should only ever use the String name. Also add a 'friendly' exception when attempting to get an ID for a unregistered fluid. Closes #1374 2015-12-10 02:54:00 -08:00
cpw 97ef6a5d1f Giant registry fixup 2015-11-28 03:07:53 -05:00
LexManos 5549b06f96 Compiler warnings pass, undeprecated SplashProgress related stuff. 2015-11-26 19:38:21 -08:00
cpw b4dc15a9cb Cleanup Fluid deprecations stuff. 2015-11-24 10:05:35 -05:00
cpw 5045d8df68 Merge branch '1.7.10' 2015-08-01 20:30:22 -04:00
cpw 50677ad87a Actually rebuild the fluidNames each rebuild, don't just try and force changes in. Should fix #1973 2015-07-09 16:40:51 -04:00
RainWarrior 07038f8342 Added fluid renderer. 2015-06-18 14:26:53 +03:00
cpw db42d1f532 Merge branch '1.7.10' 2015-06-09 17:57:35 -04:00
cpw 63f2300794 Fix up the client/server fluid race condition that could cause the game to bail when an SSP game connects.
There's still a teeny gap, but it's MUCH less prominent than it was before.
2015-06-03 19:26:53 -04:00
cpw d02636213a Merge branch '1.7.10' - imports all the fluid fixups and other stuff from 1.7 into 1.8
Conflicts:
	fml/src/main/java/net/minecraftforge/fml/common/FMLCommonHandler.java
	fml/src/main/java/net/minecraftforge/fml/common/Loader.java
	patches/minecraft/net/minecraft/client/Minecraft.java.patch
	patches/minecraft/net/minecraft/client/renderer/texture/TextureMap.java.patch
	patches/minecraft/net/minecraft/item/ItemArmor.java.patch
	patches/minecraft/net/minecraft/nbt/CompressedStreamTools.java.patch
	patches/minecraft/net/minecraft/nbt/NBTTagCompound.java.patch
	patches/minecraft/net/minecraft/nbt/NBTTagList.java.patch
	patches/minecraft/net/minecraft/world/World.java.patch
	patches/minecraft/net/minecraft/world/WorldProvider.java.patch
	src/main/java/net/minecraftforge/common/ForgeVersion.java
	src/main/java/net/minecraftforge/common/network/ForgeMessage.java
	src/main/java/net/minecraftforge/fluids/BlockFluidBase.java
	src/main/java/net/minecraftforge/fluids/FluidContainerRegistry.java
	src/main/java/net/minecraftforge/fluids/FluidRegistry.java
	src/main/java/net/minecraftforge/oredict/OreDictionary.java
2015-06-01 16:29:34 -04:00
cpw 50608986fe Replace the OLD fluid in the fluidID map, not the new one.. 2015-04-20 10:01:36 -04:00
cpw 7bbe8df2b8 Fix static initializer derp. 2015-04-20 09:26:27 -04:00
cpw 0543828603 Make FluidStack hold a delegate for the fluid. This can then float based on what is "live" at present. 2015-04-20 09:06:23 -04:00
cpw 54af750717 Verify that the fluid registry doesn't contain "junk" fluids thru reflection. 2015-04-18 21:37:45 -04:00
cpw 230d757a89 Fix NPE - Closes #1794 2015-04-11 17:27:14 -04:00
cpw 9671179453 Fluids are now tracked internally by mod. This allows for the server and the world to specify a "default"
in the case of a possible alternative fluid implementation. If you always called registerFluid, things
should work pretty seamlessly, but if you didn't (gating with an isFluidRegistered check for example)
you should change to register anyway. This way, even if you're not default in the overall instance, you may
become default if you're the only mod present on a server, for example, or in a world save.

This should radically decrease the mixups caused by mod load ordering problems, and other issues around fluid
tracking.
2015-04-11 17:18:53 -04:00
King Lemming 186f92479d Fixes FluidContainerRegistry properly - no more corner case where client/server mods disagree.
Also clarifies the 2x Fluid registration error message somewhat.

Signed-off-by: King Lemming <kinglemming@gmail.com>
2015-04-10 16:38:45 -04:00
Sergey Shatunov a42cf1ae37 Fix FluidRegsitry.registerFluid
FluidRegistry:
```java
    static BiMap<String, Fluid> fluids = HashBiMap.create();
    static BiMap<Fluid, Integer> fluidIDs = HashBiMap.create();
...
    public static boolean registerFluid(Fluid fluid)
    {
        if (fluidIDs.containsKey(fluid.getName()))
            ^^^^^^^
```
There is definitely should be fluids instead fluidIDs. This mistake broke many mods.
2015-04-08 17:26:40 +06:00
Lex Manos 02ebc9ca21 Restore binary compatibility issues in FluidRegistry caused by recent changes. 2015-04-07 20:06:55 -07:00
cpw 4f0e2fb9c4 You shouldn't be creating FluidStacks from unregistered Fluids. Warn clearly on failed registrations, and make a useful log message for failed fluidstack
creations. Should help a lot with tracking down broken mods that are doing this wrongly.
2015-04-05 22:48:09 -04:00
cpw defaddecec Fix formatting 2015-04-05 22:30:39 -04:00
King Lemming 3fc40b955a Removed fluidID from ItemStack.
This fixes a rather huge issue where FluidStacks on the client could be desynced if a modder was unaware of it.

This is a breaking change but can be mitigated with a transformer to the getter getFluidID().

Signed-off-by: King Lemming <kinglemming@gmail.com>
2015-04-05 22:30:39 -04:00
Lex Manos 53659fca06 Initial update to 1.8, Super beta. Most rendering related hooks are out due to major changes in 1.8.
Some notes:
Almost all int x, int y, int z parameters have been changed to BlockPos class
ForgeDirection has been removed, replaced by net.minecraft.util.EnumFacing.
All FML classes have moved from packet cpw.mods.fml to net.minecraftforge.fml
Fluid Rendering has been disabled for the time being, to be re-evaulated and a test mod created for it.
Minecraft now uses a Model based system for rendering blocks and Items. The intention is to expand the model format to better suit modder's needed once it is evaulated.
As such, The model loaders from Forge have been removed, to be replaced by expanding vanilla's model format.
Metadata has been extracted out in Minecraft to IBlockState, which holds a list of properties instead of magic number metadata. DO NOT listen to the fearmongering, you can do EVERYTHING with block states you could previously with metadata.
Stencil Bits are disabled entirely by for the main Display, Modders must enable and recreate the FrameBuffer if they wish to use Stencil Bits.
2014-11-26 00:00:54 -08:00
Lex Manos 12e8d95e9f Fix potential threading issue if FluidRegistry.loopupFluidForBlock is called from two threads at the same time before being setup. Closes #936 2014-04-02 23:53:05 -07:00
Lex Manos e68577ffd3 Updated FML:
MinecraftForge/FML@03fb1879d7 Fix obf error when right clicking a Empty Map.
MinecraftForge/FML@6bb9b8b953 Clean up FMLEventChannel. Closes #367.
MinecraftForge/FML@b7b3450dcd Update MCP mapping snapshot to latest crowdsourced names.
MinecraftForge/FML@8c9e8b5270 Fix isRemote, this is integral to so many parts of the code, everyone knows it by this name, People should not change it.
2014-02-05 01:14:24 -08:00
Lex Manos 2b9a2b5c1a Inital Fluid system update, untested. Still in progress. 2014-01-29 18:34:23 -08:00
Lex Manos baf95e747a Fix warnings in Forge codebase. 2014-01-17 21:55:48 -08:00
Christian ae478c92a2 Moved the core event handler parts to FML. Implemented the Forge network handler based on the new
netty strategy.

Updated FML:
MinecraftForge/FML@3b2994a3de Some patching touchups
MinecraftForge/FML@557357fe17 Update for log4j2
MinecraftForge/FML@a2b324beb2 Copy eventhandler from Forge into FML. It is going to replace a lot of the runtime event systems.
MinecraftForge/FML@4071ff38af Patch some GUIs. We're gonna add some basic mod gui config support.
MinecraftForge/FML@0b419ac79c Fire a user event down the channels when a handshake has occured.
2013-12-16 20:19:03 -05:00
Lex Manos 9cf0a5b68b Comment out fluids until King gets his hands on it 2013-12-12 23:32:18 -08:00