Commit Graph

660 Commits

Author SHA1 Message Date
cpw 6a1337aa92
Updated a couple of libraries. Fixed bug where modid could be in toml but
not found during loading, yet game continued to load.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-05-11 20:47:42 -04:00
LexManos a7204b5cd3 Bump ForgeSPI version, and add support for DistCleaner stripping interfaces from classes.
Add more detail to VersionChecker log info.
2019-05-06 15:52:12 -07:00
tterrag f30d7bc845 Fix #5688 config values are unordered, update Night-Config 2019-04-18 22:13:13 -04:00
0uti bbc92fa51c [1.13.x] Fire InputEvents (#5533) 2019-04-15 18:50:18 -07:00
Ben Staddon 3f70fd49ff Fix missing string parameters in some log messages (#5210) 2019-04-11 18:57:37 -04:00
Ben Staddon 7496e3dbdf Re-add some missing villager profession patches (#5200)
* Fix zombie villagers only spawning with vanilla professions
* Fix spawning modded villagers that do not have their own building
2019-04-11 18:50:01 -04:00
gaudus 7d2c8fa6ef fixed visual bug with guislider 2019-04-11 17:38:01 -04:00
cpw aa7380acc6
Actually parse the i18n exception message into the super constructor,
so the exception has a useful text message, even in crash logs and
on the server.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-04-06 14:22:24 -04:00
cpw cdbd842494
Refactor to use naming service, and provide an MCP naming service when
in userdev. Step 1 to supporting loading SRG mods in userdev.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-04-06 12:10:54 -04:00
cpw 3f735b715b
Implement API for mods to control their server status response..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-31 16:36:49 -04:00
cpw 4ecb04ed9f
Merge branch 'pull/5636' into 1.13.x 2019-03-30 15:03:48 -04:00
cpw e0361047f7
Fix StartupQuery to run properly on dedicated server.. Closes #5649
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-30 14:46:30 -04:00
tterrag 98ef5049f4 Fix BrandingControl caching text through resource reload 2019-03-29 16:29:26 -04:00
cpw 944d760855
Fire the ModIdRemappingEvent on the Forge Event bus. Closes #5632
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-25 21:55:34 -04:00
tterrag 2f486f2bdd
Add method to IResourcePack to hide it entirely from the UI (#5525) 2019-03-25 17:24:37 -04:00
JoJoDeveloping 7e4101b3ad
Remove game registry comparsion from list ping
Signed-off-by: JoJoDeveloping <jojohostert@gmail.com>
2019-03-25 22:22:29 +01:00
cpw d8d30e1f82
Defer configuration of channel until it is actually available during
connection. Closes #5626

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-25 17:20:44 -04:00
mezz 5fa732d223 Remove uses of java.awt (#5591)
`java.awt` will statically load itself when `java.awt.Color`, `java.awt.Dimension`, etc are loaded.
This conflicts with lwjgl3 and must be avoided (except for in mojang's server gui).
2019-03-25 12:06:20 -07:00
JoJoDeveloping 4764136d47
Re-Add the list ping compatibility checker
Signed-off-by: JoJoDeveloping <jojohostert@gmail.com>
2019-03-25 15:15:25 +01:00
tterrag d7ba9a50df Fix loading errors GUI crashing when errors occur during construction 2019-03-22 20:58:10 -04:00
tterrag 1e34f331da Handle null return from ResourcePackInfo.createResourcePack 2019-03-16 01:52:37 -04:00
cpw d99a55a7d1
Allow login packets to only generate on server based connections
Run injectSnapshot on the client thread, wait for result and
disconnect when injectSnapshot fails.
Fix DevServer to load MOD_CLASSES
Fix LaunchTesting to properly load log4j2 markers (don't use a
static variable in that class!)

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-03-15 23:22:28 -04:00
its_meow ff6fa31b1d Fix entity spawn packet pitch (reversed yaw/pitch) (#5603) 2019-03-13 12:53:48 -07:00
ichttt 00845d5252 Add UI for warnings that occurred during loading (#5530) 2019-03-11 15:32:37 -07: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 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 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 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 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 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 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
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
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
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
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 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 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 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
Vincent Lee 153e7a1806 Tentatively reintroduce a container-opening system 2019-02-07 20:31:17 -06: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
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 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
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
cpw 0a11ffb827
More logging tweaks, including some aimed at userdev.
`forge.logging.markers=<LIST OF MARKERS>` will enable markers.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-27 00:06:57 -05:00
cpw 3c55b46ca0
Big cleanup of logging. Might do some tweaks of the userdev logging, but this should be good for vanilla..
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-26 22:18:28 -05:00
ichttt 9ee34f57f5 Fix some of minecraft's resources loading twice, as minecraft is on the list of namespaces as minecraft and as an empty string 2019-01-26 23:23:05 +01:00
cpw c578cae676
Fix resource pack info generator - use the first modid as part of the
pack prefix.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-26 16:56:10 -05:00
Vincent Lee 13f9418201
Send head yaw, use setPositionAndRotation 2019-01-26 10:25:20 -05:00
Vincent Lee a771a3ea06
Add license header 2019-01-26 10:25:20 -05:00
Vincent Lee 1f11ac76fa
Readd modded entity spawning/tracking support 2019-01-26 10:25:19 -05:00
Vincent Lee 69f8e57cea [1.13] A sweep through deprecations (#5345) 2019-01-25 13:29:52 -08:00
Vincent Lee fa939a890c [1.13] Make Caps, TESR, Entity renderers, and keybinds thread safe to call during parallel init (#5359) 2019-01-25 13:14:49 -08:00
mariaum 6643997304 Fix #5365: Some chat messages lose their formatting (#5386) 2019-01-25 11:19:49 -08:00
cpw 040cc4bf16
Expose a couple of mods.toml properties properly. Half-implemented
override namespace - still needs to be reviewed and determined how this
might work in detail.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-20 21:26:31 -05:00
SquidDev eefc4d3e84
Use the reply logical side when enqueing work
When receiving a packet, NetworkDirection.getLogicalSide details where
the packet was the packet was sent from. Therefore, on a client it'll
be SERVER (and vice virsa), and so the work is queued on the sever
thread, instead of using Minecraft.
2019-01-20 12:31:12 -05:00
ichttt c3c979f11a
Use minecraft's util class to open files 2019-01-20 12:23:44 -05:00
ichttt 276d0c49c1
Validate mod ids 2019-01-20 12:23:44 -05:00
cpw 7c840dce35
Fix classcast in autoeventsubscriber, also actually make progression
work properly. This whole thing is a bit of a gross hack.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-20 12:20:27 -05:00
cpw 60524f0f3e
Fix case error in AutomaticEventSubscriber
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-20 00:32:11 -05:00
cpw f4d2d1a24b
Move Registry Events to the mod event bus.
Add infrastructure to allow parallel or synchronous dispatch of
mod events, and pass-through of events to the dispatch system.

Signed-off-by: cpw <cpw+github@weeksfamily.ca>
2019-01-19 23:27:27 -05:00
tterrag ff2e35c243
Greatly improve DeferredWorkQueue API (#5357) 2019-01-18 21:10:22 -05:00
tterrag 0d1a2f2af3 Add utilities that RuntimeEnumExtender expects to exist 2019-01-17 13:11:54 -05:00
cpw 56a3926b86 Fix up event naming, move them to sensible packages and document everything a bit. 2019-01-14 22:43:17 -05:00
mezz 118eac8f39 Fix mod lifecycle event names 2019-01-14 14:00:15 -08:00