Giter VIP home page Giter VIP logo

evilnotchlib's Introduction

evilnotchlib

this is a library with minecraft and some forge bug fixes. It allows modders to mod with ease and a relection MCPMappings Api to allow for reflection setting and getting objects and set final objects as well. This is a powerful lightweight library

Embeded Libraries:

Simple JSON(With Modifications): https://github.com/RalleYTN/SimpleJSON using this liscense http://www.apache.org/licenses/LICENSE-2.0

Bug Fixes:

fixed forge duping cache of classes which caused massive memory leaks of resourceCache and classCache in LaunchClass Loader
fixed improper syncing of player permisions when opening lan world
vanilla eggs on spawners
uuid fix(if uuid doesn't match server patch it)
uuid fix single player(if you give another person your world you get the right playerdata)
fixes forge parsing playerdata files twice on login
TileEntityFurnace(increase from short to int,fixed not properly reading/writing currentItemBurnTime)
GuiFurnace(fixed gui going out of bounds of integer thus displaying data wrong)
notch drops apples again
ItemToolTip Enchantment Fix(if text breaks manually uses enchantment name and roman numeral generator or integer)
Fixed Player Head Being on backwards when teleporting to them
Fixed Player shoulders not syning when using /tp,teleport,tpdim
Fixed Packets of blockstates being sent to the client from the main hand when 
Placing a block in the offhand causing pig issues with silkspawners, and any other tile entities like signs
Fixed WeightedSpawnerEntity constructor not fixing the id tag on construction
Fixed EntityFallingBlock,EntityHanging,EntityPainting exceptions when simply using the default world constructor
Fixed Forge Improperly Hooking EntityJoinWorld event now works on both client and server always
Fixed EntityZombie not reading from nbt properly with isBaby boolean
Fixed Shulkers having improper initial values after constructing
Fixed Shulkers shaking inside the spawners

BlockEntityTag fixes:
sync client changes on the same tick rather then later,don't have to be in creative
make sure client that placed the spawner ignores the next packet 
if succesfull sent to it in case stuff is random
no more pig spawners after one spawnage

Features:

Capability System unlike forges mine is easy to use and understand as well as an ICapTick version for all objects that can tick
MCPMappings and ReflectionUtil API: ability to get and set objects with ease
BlockUtil: set objects in blocks for coders
Basic MC Lib:ability to make modding easier automation for registration and lang
GeneralRegistry: registry for commands, sound types and other general stuffs regsiter stuff here for compatibility
EntityModRegistry: support SpawnListEntries with NBT mobs
ClientBlockPlaceEvent: fires on client side when player places block for client sync
Line Library: a powerful library for parsing lines in many forms "modid:block" = "custom parsing values"
ConfigBase: part of the line library as an api implementation for the line library
Primitive Obj: allows for object modifyable primitive values(byte,short,int,long,float,double,boolean)
PairObj: unlike the other Pair classes this one makes since and uses generics so you never have to type cast
JavaUtil: varius pure java utilities
CSVE: basic implementation of comma seperated values with a varible system in place
Json model generation(Basic MC Lib)
Lang generation(Basic MC Lib)
Dyanmic Tranlsation Event(let's you override ItemStack#getDisplayName())
TileDataEvents fires when a tile entity's data has been set using evil notch lib's utils
TileUseItem Events fires when player uses an itemstack and sets tile nbt like spawn egg or spawner but, not always blockdata placement just simple use
BlockData Events fires on whatever sides that the tile data gets set to this usually includes both client and server player can be null if the event is fired from command block or dungeons.
Adds the seed to f3 again per world
ASMHelper allows you to: replace methods,replace classes, and other usefull stuffs as well as make it easier to do per line injections
remove methods,add methods, add fields, remove fields
PickEvent.Block(allows you to override what the block returns via middle click)
PickEvent.Entity(allows you to override what the entity returns via middle click)
FakeWorld allows you to instatiate entities before a main world is even loaded you will have to exception handle for broken entities
NBTPathAPI(Not Working Quite Yet) allows for deep comparsions of nbt based upon logic type as well as comparing has tags merging nbt and compiling back into normal nbt
LAN Skin Fix
Dedicated Server Skin Fix
Skins that are already downloaded should appear without the internet (offline)

Future:
Font Renderer

Instalation This as a Dependancy:

Install forge mdk mc version
Place a compiled or deobfuscated evil notch lib jar into the libs folder
Place a compiled or deobfuscated mc class writer mod into the libs folder
in build.gradle put this into your minecraft section "useDepAts = true"
run gradlew setupDecompWorkspace eclipse
Go into eclipse java build path and add the jar

Contributing:

download the entire source code and install to a new workspace
run gradlew setupDecompWorkspace eclipse

evilnotchlib's People

Contributors

jredfox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

evilnotchlib's Issues

Cleanup Created PlayerData Fix Issue

Version:Pre-release 1
Issue:the config option of fixing player data sp cannot be disabled even if you intend on giving another player your inventory

Solution: add the option back just rename the option

Menu Lib Current Index Reset Logic Faulty

Version:1.0
Issue: the new feature where the currentIndex was being reset to latest config index was faulty due to it checking if the config is dirty alone instead of also needing a new boolean for addedMenu in ConfigMenu.

Vanilla Egg Not Canceling offhand

Version: 1.2.3-pre-release 3
Issue: Vanilla Egg Not Canceling offhand after fixing it via event handler on right clicking mob spawner

EvilNotchLib Overrides Custom Main Menu

Version:EvilNotchLib-1.2.3-SNAPSHOT-44
Issue: main menu is overriden by menu lib inside of cmm
Steps to reproduce:install custom main menu and evil notch lib

mods are
EvilNotchLib-1.2.3-SNAPSHOT-44
ResourceLoader-MC1.12.1-1.5.3
CustomMainMenu-MC1.12.2-2.0.8
Forge 2738

server crash

Version:Snapshots 64,65,66
Issue: start server it crashes remove EvilNotch Lib is starts fine
Steps to reproduce:add EvilNotch Lib to mod pack is all i can reproduce...
CrashReport https://pastebin.com/6YGwfTdW

Menu Lib Not Saving on reconfigure

Version:1.0
Issue:not marking config dirty on saving reconfigure

Steps to reproduce:
install betweeenlands
uninstall betweenlands after one run and it's still in the config

initLang fails to inject

Version: SNAPSHOT 66
Issue: when generating the lang it wasn't injecting into the map

Steps to reproduce:
delete lang and model files
run game observe wrong names

JEI ASM

Version:SNAPSHOT 71
add asm to patch JEI for IItemRenderer and future IBlockRenderer

Command Block Refuses to Output

Version:1.2.3-SNAPSHOT-65
Issue:place command block with the tag and no output shows up in gui the first time
Steps to reproduce:
place cmd block

Armor Mats Always Setting To IBasicArmor

Version:SNAPSHOT 70
Issue: armor mats set the armor mat to IBasicArmor without checking if it's ok to do so first thus overriding custom armor mats for IBasicArmors

Null Point Exception when Entity is null via Translating

Version: Pre-release 2
Issue: read title
Steps to reproduce:intall evil notch lib, silskpawners and Just a few fish mod

This smells possibly related. With the latest update, I am failing to even load to the main menu with a NullPointerException.

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from silkspawners (silkspawners)
Caused by: java.lang.NullPointerException

Crash Screen

Versions

Forge 14.23.5.2811
EvilNotchLib 1.2.3-Pre-Release2 (did you mean to flag this as a full release instead of alpha/beta?)
Silk Spawners 1.8.1

Logs

Crash Report
Full latest.log from crash

Things I've tried

  • Rolling back to EvilNotchLib-SNAPSHOT-80 and SilkSpawners-1.8.06 and the problem goes away.
  • Test environment with just the three mods listed above works fine, as I'm sure it does for you. There is some mod interaction I haven't pinned down.

Things I'll continue trying

It'll take a while, but I'll see if I can narrow it down to a specific mod. After creating a clean test environment, I've started adding back in the other mods, starting with the most likely offenders (foamfix, betterfps, itemzoom, justenoughids, resourceloader....) No crashes yet. I'll let you know if I pin it down. I figured I'd post the logs here in case something jumps at you about the logs and the recent development you've done.

MenuLib Issues

Version:Pre-Release 1
Issue:looked for issues in todonow.txt

Derp Debug not cleaned Up In SNAPSHOT 67

Version:1.2.3 Snapshot 67
Issue:server crashes when starting up
Steps to reproduce:install EvilNotchLib 67 on server and it crashes
CrashReport/Log: https://pastebin.com/cvDtjJme
ModPack/ModList: lib only

forgive me if this was not fixed not trying to be a pain just reporting in case you thought it was fixed.

Menu Lib Invalid Index

Version:1.0
Issue: invalid index get's parsed like it should then doesn't reset it to 0 so it doesn't happen the next launch

JEI IItemRender Hovering Item

Version:SNAPSHOT 71 IItemRenderer 1.1
Issue:when jei is installed and the lib the blocks hovering over go under jei's tab not over it. Something it getting screwed up upon

Steps to reproduce:
install jei & EvilNotchLib SNAPSHOT 71
When picking up a block/item over the tab if it's fast renderer the items don't render properly

uuidfixer not optimized

Version:1.12.3 SNAPSHOT 50
Issue: code is lagging the game by a couple of seconds rather then just doing what it should be doing.

Fixed for 2.0 ASM uuidfixer

[E]Armor Slot Potions

Version:SNAPSHOT 72
make an object which allows armor slots per armor and also an additional slot for full armor. This is so people don't have to hard code new armor every time they want a slightly different version from potion and basic armor

Bin and SRC not syncing properly when adding lang

Version:SNAPSHOT 70
Issue:Bin and SRC not syncing properly when adding lang
Steps to reproduce:
create a brand new item/block with a lang entry
launch and observe it doesn't have the properties

1.2.3 Release Enhancements

Version:1.2.3 Release
Issue:When the release is here there is no need for debug crashing to find out if my fake world needs editing or not. So try and catch exceptions when populating the colors section
this is labeled wrong on purpose so people report debuger forced crashes because I simply refuse to throw out the exceptions if I can patch it up with my fake world

IItemRender Incompatibilities

Issue: When I try to install this mod into my pack, the textures for ender chests/tanks and for /dank/null items turn invisible.

Version: 1.2.3-SNAPSHOT-66

Steps to reproduce:

  1. Install the mods below in a minimal profile
  2. Start game
  3. Open inventory and search JEI for "dank" or "ender"

ModPack/ModList:

  • forge-14.23.4.2759
  • DankNull-1.12-1.4.33
  • CodeChickenLib-1.12.2-3.2.1.351-universal
  • EnderStorage-1.12.2-2.4.5.135-universal
  • EvilNotchLib-1.2.3-SNAPSHOT-66
  • jei_1.12.2-4.11.0.212
  • p455w0rdslib-1.12-2.0.33

Screenshots:
2018-09-02_12 49 28
2018-09-02_12 49 29
2018-09-02_12 49 38
2018-09-02_12 49 40
2018-09-02_12 49 41

Screenshot without this mod:
2018-09-02_13 04 07

Entity Cache Needs Enhancing

Version:SNAPSHOT 71
Issue: due to no blacklist domain nor blacklisted mobs it crashes with silkspawners in the tab because the bad mobs try rendering in the tab.

Game crashes before fully starting up.

Versions:

  • MultiMC 5: 0.6.2-1222
  • Minecraft: 1.12.2
  • Forge: 14.23.4.2760
  • EvilNotchLib: 1.2.02

Issue:

During game startup, the game starts loading resources and processing, then abruptly stops about 20-30 seconds after starting.

Steps to reproduce:

  1. Install all the mods (it's a big list...)
  2. Attempt to run the game.

CrashReport/Log:

Full Log: https://paste.ee/p/5qYGb

Errors:

[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: java.lang.reflect.InvocationTargetException
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:231]: 	at org.multimc.EntryPoint.main(EntryPoint.java:34)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: Caused by: java.lang.NoClassDefFoundError: com/EvilNotch/lib/util/JavaUtil
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at com.EvilNotch.silkspawners.asm.SilkTransformer.<clinit>(SilkTransformer.java:18)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at java.lang.reflect.Constructor.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at java.lang.Class.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.<init>(ASMTransformerWrapper.java:243)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at $wrapper.com.EvilNotch.silkspawners.asm.SilkTransformer.<init>(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at java.lang.reflect.Constructor.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at java.lang.Class.newInstance(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at net.minecraft.launchwrapper.LaunchClassLoader.registerTransformer(LaunchClassLoader.java:88)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:131)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at net.minecraft.launchwrapper.Launch.launch(Launch.java:115)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
[19:08:25] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:200]: 	... 8 more
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: Caused by: java.lang.ClassNotFoundException: com.EvilNotch.lib.util.JavaUtil
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: 	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: 	at java.lang.ClassLoader.loadClass(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: 	at java.lang.ClassLoader.loadClass(Unknown Source)
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: 	... 25 more
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: Caused by: java.lang.NullPointerException
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: 	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
[19:08:25] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:-1]: 	... 27 more
[19:08:25] [main/INFO] [STDOUT]: [org.multimc.EntryPoint:main:37]: Exiting with -1

ModPack/ModList:

Github has no markdown for spoilers or collapsing regions? I've got a list of 202 mods. However, they are all listed near the beginning of the already referenced log file.

Lang Gen Bug

Version:SNAPSHOT 65
Issue: lang generation seems to be ignoring the arguments of whatever you put in such as en_us.lang it's just using the current lang for some weird reason.....

Snapshot 44 causing game hang

MC/F 1.12.2/2689, 2691

I can't provide a crash report or log as none are generated, apologies.

Game starts from launcher, game menu activates. Loading a saved world, the screen hangs at the '0%' screen and never recovers, requiring task manager to end process.

IItemRender JEI Incompatability

Version:IItemRenderer 1.1
Issue:jei doesn't fire the IItemRenderer with silkspawners
Steps to reproduce:
install silkspanwers
observe no items in the tab

ForgeHooks change

Issue: EntityUtil calls forge hooks do special spawn which changed it's params I need to call the event manually so it doesn't cause crashes in later versions.

IItemRenderer useRenderHelper

Version:need to figure out why orespawn 2 swords and things are not working the same with the same code practically

ASM Configurations are wrong

Version:SNAPSHOT 77
Issue: not all the configurations do what they say for example disabling one might disable two other things

PlayerCapabilities Not Being Overriden UUIDFIXER SP

on uuidfixer sp event doesn't override forge capabilities if not registered through the new event. So I need to use asm to get it reading the right file to begin with if player is owner.

Caused when generating blank playerdata. if everybody just used capability event properly it would work always. But, this isn't the case ASM is required to fix this

Files Generating when compiled

Version:1.2.3 SNAPSHOT 65
Issue:lang and jsons ignoring mod is compiled

Steps to reproduce:
run the game when it is eclipse

Menu Lib CMM JSON Support

Version: get the json auto support with cmm so people don't have to input it into cmm and think my mods bugged. Only apply it when the file doesn't exist to begin with

Menu Lib Improperly Stops Music

Version:1.0
Issue:stops all sounds including ones that are not main menu music even the button that clicked to cange the menu

Steps to reproduce:click button to switch menu with thebetweenlands installed.

Config Lang adding line not setting it in Dev

Version:SNAPSHOT 70
Issue:Config Lang adding line not setting it in Dev
Steps to reproduce:
load up the game with your lang entry
change the display name and relaunch notice it didn't do anything

Config Overriding Mats in Dev

Version:SNAPSHOT 70
Issue:Config Overriding Mats in Dev
Steps to reproduce:
create a block property and change it after initial launch
observe the properties didn't change

I can conclude that this also happens with items and other things

Pick Block Event TE issues

Version: snapshot 76
Issue: the pickblock event data gets it on client side only rather then from the server this is invalid behavior that should have been removed in the integrated mc server update and especially 1.8

Steps to reproduce:
place spawener with multiple indexes go out of chunks far away
go back middle click spawner with silkspawners notice no spawnpotentials

ArmorMat & ToolMat Constructor Design Flawed

Version:SNAPSHOT 71
Issue:constructors booleans are allMeta,register,recipe rather then allMeta,recipe,register

Also I ArmorSets should be able to be created with just items and no recipes for if the basic armor/potion armor is used

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.