Compatibility Layer to help with keeping mods compatible between 1.10 and 1.11
mcjty / compatlayer Goto Github PK
View Code? Open in Web Editor NEWCompatibility Layer to help with keeping mods compatible between 1.10 and 1.11
License: MIT License
Compatibility Layer to help with keeping mods compatible between 1.10 and 1.11
License: MIT License
Trying to boot up in a dev environment and updated TOP to v1.1x-1.4.4-55
Had to add CompatLayer, v1.10-0.2.2
I'm crashing on world load with this:
http://pastebin.com/K3XELXx0
Any ideas?
In 1.10, CompatInventory has method isUseableByPlayer(), inherited from IInventory class.
In 1.11.2, CompatInventory has method isUsableByPlayer(), inherited from IInventory class.
This causes incompatibility issues. Need cross-version compatibility methods to fix this ;-)
Whenever I try to initialize an ItemStackList(List<ItemStack> stack, /*Nullable*/ ItemStack defaultNullItem) on 1.10.2 version of CompatLayer I get
java.lang.NoSuchMethodError: mcjty.lib.tools.ItemStackList.<init>(Ljava/util/List;Lnet/minecraft/item/ItemStack;)V
On 1.11.2 this works just fine
Not sure if I should go a different way to get a custom ItemStackList, because add/set methods always crash minecraft super implemenatation
Updating to the newest CompatLayer breaks Dense Ores:
com.rwtema.denseores.ProxyClient$1: Dense Ores requires CompatLayer to run in Minecraft 1.10.2
I am fairly new to the whole modding thing. I wanted to add the compatlayer to the mod to make it compatible with 1.11 too. But as soon as I add the dependency within the build.gradle
file,all minecraft and forge related dependencies get removed from the project. Here is my build.gradle
file.
I invalidated the project several times and cleaned it too. No idea what is wrong.
I would really really appreciate any help since it is quite frustrating...
I'd like to see a new class, mcjty.lib.compat.CompatSlotItemHandler, which extends net.minecraftforge.items.SlotItemHandler, and implements getX, getY, setX, setY, onTake, and onPickup for it.
I'm working with CompatLayer, and attempting to reimplement my class extending SlotItemHandler. However, I use onTake (which is not a method in 1.10.2) and to use CompatSlot I would have to re-implement all the logic in Forge's SlotItemHandler.
The field GuiScreen#fontRendererObj
from 1.10.2 was renamed to GuiScreen#fontRenderer
in 1.11. I'd like to have a class added for this.
The issue is that the commonly-used GuiContainer extends GuiScreen; would you have two compat classes, or is there some other solution?
I can't believe you missed this one when you wrote CompatItemArmor.
See the problem? I solved it by writing a helper method; feel free to cut & paste it into a new 'Tools' class: https://github.com/Sinhika/SimpleCore/blob/dev1.9/src/main/java/alexndr/api/helpers/game/ArmorMaterialHelper.java
Internal comments separate the 1.10 version from the 1.11 version; ask if it's not clear.
As soon as I start the game, I get an instant crash. I am on Minecraft 1.11.2 and I also have Recurrent Complex which should be the only mod I have that relies on CompatLayer, so I assume it may have something to do with that.
Crashlog:
Would it be possible for you to make a compatlayer version of JEI's IIngredients?
During the port from 1.10-1.11 mezz made IIngredients.getInputs(Class ingredientClass) return a list inside a list rather than just a list like in 1.10.
An example of this can be found here.
I'd like to use this library, but I have trouble wrapping my mind around maven and gradle ๐
Could you elaborate on how to use the links on the wiki page as maven repository?
Is it even possible to use them in gradle? Sorry, if this is a dumb question, but I'm pretty
new to Java.
What I tried so far, was adding it this way into my build.gradle:
repositories {
maven { // CompatLayer
url = "http://jenkins.k-4u.nl/view/McJty/job/Compatlayer%201.10/"
}
}
dependencies {
deobfCompile "mcjty.lib:compatlayer:1.10-0.0.12alpha"
}
When i place coal in the upper left slot (1 or more - i tried both), the game crashes.
i was trying to compress the coal into coal blocks.
Ye' Olde tanks with JEI only, no crash
compat layer by itsself, no crash
starts crashing when compatlayer is added to Ye' Olde Tanks
here is the crash report.
Link to crash report/log in a gist:
YeOldeTanks version: YeOldeTanks-1.11-1.9.2
Compatlayer version: compatlayer-1.11.2-0.2.1
Minecraft version: 1.11.2-forge1.11.2-13.20.0.2227, 1.11.2
I'd like to see a new class, mcjty.lib.compat.CompatParticle, which extends net.minecraft.client,particle.Particle, and creates overrides for getBoundingBox, getEntityBoundingBox, setBoundingBox, and setEntityBoundingBox.
During the change from 1.10.2 to 1.11.2, getEntityBoundingBox was renamed to getBoundingBox, and setEntityBoundingBox was renamed to setBoundingBox. Since boundingBox is private and cannot be accessed directly, and each pair of methods is identical other than their names, an implementation through CompatLayer would be perfect to resolve this problem.
In CompatCreativeTabs
I'd need a compat method like
clDisplayAllRelevantItems(ItemStackList list)
to support
public void displayAllRelevantItems(List<ItemStack> list)
for 1.10
public void displayAllRelevantItems(NonNullList<ItemStack> list)
for 1.11+
Is it doable?
Hello, I am seeking to use this mod in my modpack "Immersive Experience - 1.10.2" on the Twitch/Curse launcher. For further information, please contact me.
I have a class that is a tile entity and implements Itickable. I've tried plugging in each of your classes but we run into a inconvertible error with one of the lines of code . None of your compat classes seem to handle tileentity's in the general scope and the code needs them to work.
Any ideas?
NN
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.