Sorry for that. I've update AutoFish mod for meddle to 1.9.4. But I forget to upload files...
I've uploaded AutoFish meddle version for MC 1.9.4. Just go to the Mediafire share folder and download it.
You need update dynamicMappings to build 024 and ClientEventAPI to 1.3
Hi , I found the reason why this error happen.
I think is because in the "Util" class I've used
"TextComponentString" ( net.minecraft.util.text.TextComponentString )
this is 1.9 only class ( replace for 1.8.x like "IChatComponent" classes)
"Maybe" dynamicmapping can not resolve this class name so may cause this error.
So, my problem is changed to :
Can I write mapping file myself ?
How should I do ?
By the way, in MeddleAPI , MeddleClient.IDisplayGui has a method :
public abstract void onOpenGui(EntityPlayerSP player, String guiID, IChatComponent displayName, int i);
but IChatComponent is no longer existed in 1.9 , now is "ITextComponent" ( in net.minecraft.util.text )
Could I fork source code from MeddleAPI git and fix it myself ?
Thank you!
Sorry, just 1.8 and 1.7.10 right now. I had a problem setting up gradle forge for 1.8.8, and I just started school, so it might be awhile until it's ported.
This is a great mod!
Moving controls is very make sense and easy to use.
What problem do you meet when setting up gradle forge for 1.8.8 ?
Maybe we can discuss about that ( I am just a very new modd developer )
I have read the code in github. (that is v5 right ?)
To update to 1.8.8 , seems need change few things:
1.8 => 1.8.8 ( 1.8.8 forge I am using snapshot_20151211 mapping file , that is NOT default. )
worldrenderer.startDrawing(3);
=> worldrenderer.begin(3,DefaultVertexFormats.POSITION);
/* the following code is addVertex , use POSITION
if he following code is addVertexWithUV , use POSITION_TEX */
[ This one I am not sure , but it work ]
worldrenderer.setColorOpaque_I(rgb);
=> worldrenderer.putColorRGBA(
VertexFormatElement.EnumUsage.COLOR.ordinal(),
(rgb & 0xFF0000) >>> 16 ,
rgb & 0x00FF00) >>> 8,
(rgb & 0x0000FF) ,
255
);
ER => Receive Ender signals , convert and sent red stone signals.
RE => Receive red stone signals , convert and sent ender signals.
but the problem is how can I know this side is for receive or for send when I just look at them?
I mean , the receive side and send side looks the same. Could you make them looks a little different ?
As attachment, the casters are ( left to right ) :
ER
RE - send side face the re-repeater (with a lever)
EE
EE - send side face the re-repeater (with a lever)
The reason you are getting the casting exception is because the bytecode you are injecting is referencing an un-obfuscated name of a class in an obfuscated environment, the line in which I speak of is the following:
This is will be what is causing the exception when the method is invoked. To fix this you simply need to check if the environment is obfuscated(Which you are already doing for other class names) and then simply pass in the correct name.
Oh! I forget it! Thank you!
So if the code I injected caused exception , will throws this error(Exception).
An I finally decided to write a Helper class then change my inject code to :
1
This is just another AutoFish mod , it works just like the Autofish Mod by troyboy50.
But the different thing is the way to check whether player caught fish or not.
This mod try to listen when game play a "fish caught sound".
When minecraft play the sound named "entity.bobber.splash" it will pull the fish rod back.
( see Minecraft wiki :Sound.json )
So, basiclly it won't miss any chance to get fish.
This mod is called "Autofishd " to avoid mod name conflict with troyboy50's Autofish mod.
I've also made Autofish with Meddle Mod loader. It's all the same concept.( by listen sound event)
Installation
This mod require Liteloader , please download and install Liteloader.
Once you install liteloader , just download this mod and put into the mods/ folder in your minecraft game folder.
Download
Download link : Mediafire
Configuration
This mod use the option panel that provided by liteloader.
Just press "Esc" in game and pull out the liteloader panel.
You will find the setting button under "AutoFish" mod.
Notice
If you are playing in multi-player world and someone is fishing nearby, you have to turn on the "Check Distance" in option panel.
It's because minecraft will also play the same sound effect when that guy caught a fish, this will make this mod pull your fishing rod back.
When enable "Check Distance" , this mod will check the position "where the sound was played" and "where your fish hook is".
If the distance between them is large than 1.7 (you can modify this value), this mod will consider it's not you caught a fish.
If you want to change the value "1.7" , you can enable "Show Distance" option to see the distance between them.
1
Sorry for that. I've update AutoFish mod for meddle to 1.9.4. But I forget to upload files...
I've uploaded AutoFish meddle version for MC 1.9.4. Just go to the Mediafire share folder and download it.
You need update dynamicMappings to build 024 and ClientEventAPI to 1.3
0
Update to Minecraft 1.9.4
You also need : dynamicMapping 024 , ClientEventAPI 1.3
NOTE : AutoFish v1.0 ~ v1.1 is for MC 1.9.2 , since v1.2 I will add MC version in file name
I've made a AutoFish mod works just like Forge version and Liteloader of AutoFish mod.
But this mod is for Meddle mod loader version and support Minecraft 1.9.2 ~ 1.9.4 .
This mod use "Sound Event" to check whether you caught fish (trash , treasure..) or not.
So, basiclly it won't miss any chance.
But if you are using this mod in multi-player and someone is fishing nearby, you have to turn "CheckDistance" on.
Because if someone is fishing nearby , minecraft will also play caught fish sound to you when he caught fish.
So , you have to check the location between sound played and your fishing hook.
If the distance is large than 1.7 ( this is just an average value , you can change this value in config file ) , this mod
will consider it's not your fishing rod and won't pull your fishing rod.
First thanks to FyberOptic create Meddle Mod loader
To use this mod you have to install Meddle mod loader and 3 dependence.
See the installation guide below :
Install mod loader and dependence :
This mod requires the Meddle mod loader , DynamicMappings and MeddleAPI mods.
First , install Meddle mod loader. ( see FyberOptic's thread. )
After that run Minecraft once and you will see a folder named "meddle".
Put DynamicMappings and MeddleAPI jar file into meddle folder
This mod require :
And also require ClientEvenAPI.jar , you have to put this jar file in meddle folder too.
This is also a meddle mod I made. Provides some common client event API.
Install AutoFish mod for Meddle :
Download AutoFish mod jar file and just put into meddle folder
Configuration :
This mod doesn't provide configuration GUI , you have to edit config file directly.
Config file is located at YourMinecraftDir/meddle/config/autofish_darkk6.cfg
Open with text editor and change the values you want.
After save the file, you don't need restart minecraft.
Just hold fishing rod ( in main hand ) and use it ( right click ). The configuration will reload and take effect immediately.
Download :
Download ClientEventAPI and AutoFish mod for Meddle here : Mediafire shared folder
Zip file contains mod jar file and ChangeLog.txt
0
Hi , I found the reason why this error happen.
I think is because in the "Util" class I've used
"TextComponentString" ( net.minecraft.util.text.TextComponentString )
this is 1.9 only class ( replace for 1.8.x like "IChatComponent" classes)
"Maybe" dynamicmapping can not resolve this class name so may cause this error.
So, my problem is changed to :
Can I write mapping file myself ?
How should I do ?
By the way, in MeddleAPI , MeddleClient.IDisplayGui has a method :
public abstract void onOpenGui(EntityPlayerSP player, String guiID, IChatComponent displayName, int i);
but IChatComponent is no longer existed in 1.9 , now is "ITextComponent" ( in net.minecraft.util.text )
Could I fork source code from MeddleAPI git and fix it myself ?
Thank you!
0
I am using eclipse , the problem is not compile time.
"Ltw/mymod/Util;" is class signature in jvm.
I am using Util ( tw.mymod.Util ) to call that method.
So I think the problem is runtime.
But I don't know why Util.class is not loaded by java.
Meddle is a good lib, but currently no documention for develope,
so I decide to ask the author here.
Anyway, thanks for your reply!
0
Hi , I have a question for develope mod by using Meddle.
File structure:
In MainMod.class I have declared meddlemod annotation:
and I have code in MainMod.class :
The problem is when I press the key(199=HOME), Minecraft crashed with ClassDefNotFoundError "Ltw/mymod/Util;"
Seems Util.class is not loaded ?
Full stack trace : http://pastie.org/10813138
How can I solve this problem ? Thanks!
DynamicMapping and MeddleAPI are already installed.
BTW , in MANIFEST.MF I have :
MeddleAPI-Mods: tw.mymod.MainMod
0
Awesome!
But I have a question.
Is this mod support vanilla server ?
for example, I install this mod at client side.
And I join a vanilla server ( like realms ) , can this mod work fine ?
Thank you!
0
Bug report :
Ender Eye-fi seems will change locked-repeater behavior.
See attachment , in this system when pressing the button the repeater will be locked
and the redstone lamp will alsways light.
But after use Ender Eye-fi , the repeater can not be locked.
Resstone lamp will turned off when button singals is finished.
0
This is a great mod!
Moving controls is very make sense and easy to use.
What problem do you meet when setting up gradle forge for 1.8.8 ?
Maybe we can discuss about that ( I am just a very new modd developer )
I have read the code in github. (that is v5 right ?)
To update to 1.8.8 , seems need change few things:
1.8 => 1.8.8 ( 1.8.8 forge I am using snapshot_20151211 mapping file , that is NOT default. )
gameRules.getGameRuleStringValue(string)
=> gameRules.getString(string)
this.field_177083_e.renderItemModel(this.func_177082_d(entity));
=> this.field_177083_e.func_181564_a(this.func_177082_d(entity),ItemCameraTransforms.TransformType.NONE)
worldrenderer.startDrawing(3);
=> worldrenderer.begin(3,DefaultVertexFormats.POSITION);
/* the following code is addVertex , use POSITION
if he following code is addVertexWithUV , use POSITION_TEX */
worldrenderer.addVertex(x,y,z)
=> worldrenderer.pos(x,y,z).endVertex();
[ This one I am not sure , but it work ]
worldrenderer.setColorOpaque_I(rgb);
=> worldrenderer.putColorRGBA(
VertexFormatElement.EnumUsage.COLOR.ordinal(),
(rgb & 0xFF0000) >>> 16 ,
rgb & 0x00FF00) >>> 8,
(rgb & 0x0000FF) ,
255
);
0
Hi , I've tested v0.7.1, it's works great.
I have a small suggestion about the casters.
Casters have EE , ER and RE version.
ER => Receive Ender signals , convert and sent red stone signals.
RE => Receive red stone signals , convert and sent ender signals.
but the problem is how can I know this side is for receive or for send when I just look at them?
I mean , the receive side and send side looks the same. Could you make them looks a little different ?
As attachment, the casters are ( left to right ) :
ER
RE - send side face the re-repeater (with a lever)
EE
EE - send side face the re-repeater (with a lever)
but they are looks the same
0
Awesome! So we can use Casters to send signals vertically ?
Thank you!!
0
Thank for your replay!!
Oh , that is the same photo with attachment.
Really a great mod ,I'm looking forward to see the new features ( like send signals vertically ) , and for 1.8.8
0
A small problem when using in 1.8.8 :
0
Awesome! Very great idea.
May I ask a question ?
Ender signal can send up to 15 block, no matter how many "Reciver" ?
Until signal is turned away or a ender repeater locked ?
Example :
Top : Ender signal is turned away.
Middle : signal can provide all repeater signals.
Bottom : Ender signal locked a ender repeater.
By the way :
As I know , update to 1.8.8 only need change "isProvidingWeakPower" to "getWeakPower"
But the texture will make some block disappear.
0
Oh! I forget it! Thank you!
So if the code I injected caused exception , will throws this error(Exception).
An I finally decided to write a Helper class then change my inject code to :
In this way I can do what I want faster.
Thank you!!