Commit graph

1912 commits

Author SHA1 Message Date
cpw
7cfc5c3316
Add in the ability to load modlists from a file.
This is simple: <modfile>.list is a newline separated list
of maven-like coordinates for mods to load into the game.
They are searched for in all known maven roots.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-09 17:51:37 -05:00
LexManos
47e6b34d2b DimensionManager.registerDimension now returns the DimensionType instance for convienance.
You can still access others in DimensionType.getByName()
Fixed ForgeRegistry rappers not forwarding isEmpty.
2019-03-06 21:01:12 -08:00
LexManos
3003e33074 Refactor Userdev and Forgedev launching.
Locating mods on the classpath in dev should solve linked MC sources when debugging.
As well as loading deobfed mods.
Rewrote how arguments are handled in dev, so users can overwrite any defaults we provide.
Added basic Yggdrasil auth support. Passing in --username and --password arguments.
ONLY USE IF NECESSARY. Forge is NOT responsible for your login information.
2019-03-06 20:59:32 -08:00
LexManos
7bd7b059c4 Make userdev parse out the classifier for the Forge jar that is on the classpath.
Should fix debugging Minecraft at dev time.
2019-03-06 12:06:49 -08:00
cpw
230d69b772
Tidy up network initialization, and force it to classload early in
modloading lifecycle. Closes #5576

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-04 08:22:46 -05:00
cpw
cbfa572acb
Tweak log4j2 config and allow access to classdump functionality from
modlauncher.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-02 15:31:35 -05:00
cpw
8f5a2be6fd
Fix #5584 by copying the zipped resource to a temporary directory if
paulscode is requesting it. This is so icky.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-01 22:07:11 -05:00
cpw
45f5f0904a
Log a message as well, when we crash.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-01 19:48:25 -05:00
cpw
6db8b3c26d
Try writing a temporary file to disk when a paulscode thread requests
a resource, because even zipfilesystems return interruptible file channels.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-01 19:46:59 -05:00
cpw
b4ccafe718
Enforce specversion number for forgeSPI so we don't crash with weird errors later.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-01 19:27:22 -05:00
cpw
3c73dc2d0b
Put both LogicalSides on NetworkDirection:
Origination (where it came from) and Reception (where it arrived at).

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-28 21:39:36 -05:00
LexManos
58494f8878 Rewrite the FML Handshake packet formats to include actually syncing the registry data and introduce the concept of caching it locally.
Snapshots are not injected yet due top threading issues.
2019-02-27 23:56:31 -08:00
cpw
cb70702ab5
Handle differing network versions for FML gracefully?
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-28 00:59:27 -05:00
cpw
7f1ea578d6
Fix problem with duplicate mods caused by duplicate classes found during scan.
File Scan results are now sets.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-27 23:34:23 -05:00
cpw
dd7e7fc122
Try to fix #5573 by peeling the worldclient fetch into a separate handler.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-27 13:45:51 -05:00
cpw
0bcc60fbe3
Tidy up server launch. The JAR will resolve it's libraries from a relative
path. We just need to verify what we need is on the classpath, and
try and handle when it's not, cleanly (by recommending running the
installer).

The manifest now embeds the correct launch arguments to allow FML to
resolve - these were _never_ editable, and belong somewhere out of
the way.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-26 10:28:48 -05:00
Ben Staddon
af717ad788 Fix droppers not spawning items in world (#5559) 2019-02-25 00:47:37 -05:00
cpw
2a4e05c982
Allow vanilla connections properly, and allow mods to decide.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-24 13:52:26 -05:00
cpw
c219416bb8
Patch DimensionSavedDataManager to not spam FS mkdirs requests for
empty files that don't exist yet, and don't contain data. Should
result in a significant performance improvement for those with slower disks.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-24 13:03:11 -05:00
cpw
8d1ff45c71
Fix GUI packet dispatch, add additional blockpos helper for common usecase.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-24 11:51:53 -05:00
cpw
245d0b6282
Fix startup Query to actually display (fixed commit).
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-23 20:42:45 -05:00
cpw
bbdf52e038
Update to 0.10 modlauncher API with performance improvements..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-23 14:36:05 -05:00
LexManos
1469df26db Delete old OreDictionary file, fix type in NUGGETS_IRON field name, and ping discord from jenkins. 2019-02-21 21:26:45 -08:00
LexManos
b7f6fbcfcb Merge extra and data jars. As Log4j has issues with it's config being in a different jar then the custom logger. 2019-02-21 04:24:39 -08:00
tterrag
329f26ee20 Add GuiUtils.drawInscribedRect, use in mod list GUI to fix logo rendering 2019-02-19 21:48:34 -05:00
tterrag
57cd8324dc Fix reference to UnsafeHacks in RuntimeEnumExtender 2019-02-19 19:28:17 -05:00
tterrag
4b564b91bf Fix MinecraftForge.initialize not being called.
Fixes UsernameCache and harvest tools
Closes #5529
2019-02-19 12:33:41 -05:00
tterrag
4abfedea68 Make BannerPattern extensible (#5464) 2019-02-19 12:14:14 -05:00
Ben Staddon
7d971a3262 Remove EnumFacing internal ID maps from AT file (#5526) 2019-02-18 23:16:28 -08:00
Cadiboo
ab92801740 Fix bug with ObfuscationReflectionHelper (#5509) 2019-02-18 14:12:07 -08:00
cpw
1d6536a53b
Move unsafehacks to separate JAR built separately..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-18 15:54:36 -05:00
tterrag
60315d079b Clean up Entity patches, remove extra method. Closes #5494 2019-02-18 15:52:01 -05:00
cpw
70be790b2a
Add a simple network API..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-18 15:09:03 -05:00
Jack Taylor
2e2c57dbd1 Refactor forge and example run configs based on MinecraftForge/ForgeGradle#546
- Updated run config formats based on the refactored setup
- Removed old 'runclient' and 'runserver' JavaExec tasks, replacing them by creating the run configs using the refactored setup.
- Set 'assetIndex' environment variable from FG
- Updated MDK for new run config setup
2019-02-18 14:39:05 -05:00
cpw
e47fa70279
Fix connection to vanilla servers. Generate a default mod server config
for mods connecting to servers.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-17 16:07:47 -05:00
cpw
e248503b0a
Fix TPS string
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-17 15:03:25 -05:00
Vincent Lee
3f2c66dca5 Change openGui to take a Consumer<PacketBuffer> 2019-02-17 20:02:29 +00:00
cpw
579c3ecc0e
Fix assetIndexes for 1.13.1
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-16 17:16:34 -05:00
cpw
ae01194a5e
Merge branch 'pull/5484' into 1.13.x 2019-02-16 16:59:13 -05:00
gegy1000
3c006c4ca4
Fix lazy ModContainer evaluation skipping thrown loadingExceptions
Fix formatting
2019-02-16 16:58:54 -05:00
cpw
738d54ff4c
Fixes #5446 Listening for the same registry event in two different mods fails
Tell the mod event bus not to track phasing for events.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-16 16:45:05 -05:00
cpw
7f9e8d059b
Fix network syncing of SERVER config. Enable COMMON Config. Fix network
login handling.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-15 21:45:28 -05:00
cpw
36ccb3bbfe
Fix serverlang loading issue, by frontloading MC and Forge langs,
so error messaging works.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-15 20:00:41 -05:00
cpw
3e516e54b2
Remove Forge ChunkLoader - vanilla has a new system. API will follow.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-14 23:15:40 -05:00
tterrag
3baa00decb Fix Block$Properties AT for new class name 2019-02-14 23:13:37 -05:00
cpw
78455ac3c0
Add the language providers to the main classloader as well, so
their resources are available to other classes..

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-14 21:43:56 -05:00
tterrag
2ec74e5c22 Fix RegistryManager#getRegistry not working for generic registry entries 2019-02-14 18:50:15 -05:00
tterrag
9d56309a05 Fix license headers 2019-02-14 18:49:40 -05:00
LexManos
2f547c8c56 Fix javac compile issues. 2019-02-14 15:21:28 -08:00
LexManos
ca72710937 Initial 1.13.2 update. Major thing to note is that Dimensions have been completely revamped.
DimensionType is not unique per Dimension. See DimensionManager for more details.
Vanilla now has a chunk loading system, so Forge's will need to be deprecated/adapted.
2019-02-14 15:08:53 -08:00
cpw
9a1688599a
Actually fix byte array behaviour for openGui.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-14 14:34:39 -05:00
cpw
d6c3df32d6
Fix byte array behaviour for OpenContainer packet
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-13 23:25:48 -05:00
cpw
28c0ffe333
Clean up the mod loading context objects. There is only one ThreadLocal now.
**BREAKING CHANGE** FMLModLoadingContext is renamed to FMLJavaModLoadingContext.
LanguageProviders can setup additional contextual data.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-13 22:13:59 -05:00
cpw
586c24f9d6
Implement a GUI packet and GUIFACTORY for triggering from the server.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-13 21:06:39 -05:00
cpw
31c0a70f8e
Merge branch 'pull/5451' into 1.13-pre
# Conflicts:
#	patches/minecraft/net/minecraft/entity/player/EntityPlayer.java.patch
2019-02-13 18:59:43 -05:00
cpw
64a92530d9
Handle bad formats with an exception. Translators MAKE SURE you watch for this error!
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-13 18:54:43 -05:00
cpw
4441935a4a
Handle invalid JAR files more gracefully. Don't crash.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-13 18:33:50 -05:00
cpw
f1feac76b3
Fix JKS to be stored as binary 2019-02-11 13:51:13 -05:00
cpw
d9c4446ccc
Enable https to Let's Encrypt endpoints by using an SSL factory with
the two extra Let's Encrypt root certs installed into an auxiliary
keystore.

The keystore was generated using standard commands, documented in the
FixSSL class.

The Let's Encrypt certificates are not provided by default in Java 8
prior to update 101.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 23:41:40 -05:00
cpw
f83500db11
Its 2019. Update licence headers to match.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 17:57:03 -05:00
cpw
fd02d81e73
Fix Terminal Handler and GUI logging on dediserver, hopefully..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 17:51:25 -05:00
cpw
0d379fdd6b
Fix config to use new system properly, without exploding the server.
Separates server specific config into the server config file.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 16:38:14 -05:00
cpw
f6fd800242
Fix up accidental newline removal that broke the console...
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 16:31:49 -05:00
cpw
c25214aaf4
Fix #5429 properly, without breaking symlinks on linux..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 15:58:12 -05:00
cpw
c6afb2be3f
Move to using Minecrell's terminal logger directly, for better ANSI control and JLine support.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 14:35:21 -05:00
cpw
13501a8b05
Make a second logger with colour highlighting and control it with a sysproperty:
forge.logging.colourconsole.level (defaults to off)..

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 11:45:36 -05:00
cpw
dae5994e9d
Tidy up modcontainer building and discovery..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 11:44:47 -05:00
cpw
b28a418bd9
Use a configuration value for the thread count, make it default to
availableProcessors when set to <=0 (default value is -1)

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 11:44:22 -05:00
cpw
64f69cf5c9
Revert "Make sure to create entire path for directory, fixes #5429"
This reverts commit 77dd9eb8

This will completely break symlinks on linux.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-10 10:26:21 -05:00
m00nl1ght-dev
8084ca43b9 Port CommandEvent and custom entity selectors to 1.13 (#5411) 2019-02-08 17:41:50 -08:00
LexManos
2e5f25d8ae Finish off most old patches, fix issue for mounted entities. 2019-02-08 17:40:07 -08:00
Vincent Lee
153e7a1806 Tentatively reintroduce a container-opening system 2019-02-07 20:31:17 -06:00
tterrag
065ebd748a Add synchronized modifier to runtime enhanced enum methods 2019-02-07 17:01:40 -05:00
tterrag
79c17cb542 Add IExtensibleEnum, fix DimensionType create method 2019-02-07 16:36:30 -05:00
LexManos
9245975955 Change IRenderHandler to an interface Closes #4640 2019-02-07 12:03:13 -08:00
mcenderdragon
6ea19ec8bf Made functional interface IChunkGeneratorFactory public (#5395) 2019-02-06 23:18:47 -08:00
Bartosz Skrzypczak
b527bf8ab3 Fix leaking unclosed InputStream in Scanner.fileVisitor (#5432) 2019-02-06 22:57:00 -08:00
LexManos
0b1b3c68fa Invalidate capabilities that we attach to vanilla entities and TileEntities. Closes #5307 2019-02-06 22:55:17 -08:00
LexManos
d930c8ae8b 'Fix' Specific y-levels in water behaving like you're in air. Closes #5341 2019-02-06 21:43:37 -08:00
LexManos
053c5300ed Reintroduce ObfuscationReflestionHelper closes #5373 2019-02-06 20:46:21 -08:00
LexManos
e8ae18efda Fixed Crosshair attack indicator texture issue Closes #5442
Add friendlier error message for @Mod annotations with missing mods.toml entry. Closes #5440
Remove Log4J console highlighting. As it doesn't work on many consoles, and prints invalid characters. Closes #5420
2019-02-06 18:18:01 -08:00
LexManos
71dd5c9f4d Properly set context classloader in mod loading threads. 2019-02-05 22:42:21 -08:00
LexManos
aa91af865d Rework server launching at runtime to include needed default arguments and validate libraries exist.
Move Forge config loading to manual while config system is in development.
2019-02-04 18:23:58 -08:00
Girafi
9119e395d4 Added 'create'-method for EnumCreatureType (#5400) 2019-02-04 11:40:03 -08:00
Merlin Addams
68433924c7 Fix redstone power calculation (#5433) 2019-02-04 11:38:54 -08:00
Merlin Addams
87b67cb45a Fix wrong grass block being used for comparisons (#5434) 2019-02-04 11:38:01 -08:00
tterrag
77dd9eb883 Make sure to create entire path for directory, fixes #5429 2019-02-04 12:31:47 -05:00
cpw
e000fd2f8f
Put the FMLModContainer back in it's cage. Delete the ClasspathLocator.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-01 20:37:04 -05:00
cpw
e4d20a80ed
Use the resource pack directly in the GuiModList, skip the resourcepackinfo.
Closes #5418

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-02-01 16:55:28 -05:00
cpw
55691fce4e
Expose the ModFile in the scan data, so languages can read it and make
mod construction decisions.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-31 23:09:47 -05:00
Justin
d2a3b5bed8 Fix RuntimeEnumExtender creating new enums with incorrect ordinal value (#5402) 2019-01-30 12:51:14 -08:00
cpw
6365674a2a
Config watching and config events now actually work!
Also fixed small bug with MOD_CLASSES not defaulting to empty string.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-29 15:42:56 -05:00
cpw
7a02ccc3a8
ConfigEvents - the beginning.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-28 22:42:37 -05:00
cpw
2918864248
Merge branch 'pull/5405' into 1.13-pre 2019-01-28 20:50:12 -05:00
cpw
9fbfe2b98e
Fix 5408 by making Paths from the default provider (not inside jars)
offer a FileInputStream rather than Files.newInputStream. Fun. Stupid
ancient paulscode.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-28 20:37:25 -05:00
LexManos
b40e2cc59e More old patch work, cleaned up static methods added to ItemStack, and various networking functions. 2019-01-28 16:25:49 -08:00
ichttt
3eac9c536b Config option implemented 2019-01-27 22:02:58 +01:00
ichttt
ad32b01d85 Reimplement update checker 2019-01-27 21:23:24 +01:00
ichttt
da33233762 Update for ForgeSPI change, revert back to VersionStatus checking 2019-01-27 20:51:35 +01:00
ichttt
c2a7fe4019 Bring back the forge beta warning. Use a check to see if the forge minor version is zero, as ForgeVersion.getStatus() is not implemented 2019-01-27 19:50:59 +01:00