Jump to content

Class 49 (aka Java 5) support?


keybounce

Recommended Posts

So forge currently says something like

 

keybounceMBP:minecraftforge-client-3.1.3.107 michael$ file m*
minecraftforge_credits.txt: ASCII English text, with very long lines
mm.class:                   compiled Java class data, version 50.0 (Java 1.6)
mn.class:                   compiled Java class data, version 50.0 (Java 1.6)
mod_MinecraftForge.class:   compiled Java class data, version 50.0 (Java 1.6)
ms.class:                   compiled Java class data, version 50.0 (Java 1.6)
my.class:                   compiled Java class data, version 50.0 (Java 1.6)

 

Any chance of getting this compiled with the version 49/Java 1.5 flag?

Jeb! The sheep! The fence pens, they do nothing still leak!

Link to comment
Share on other sites

No, we'd have to re-write a lot of stuff due to the massive changes in 5 to 6. {EA: Generics}

ALL OS's have access to 6, so you should just update.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

ALL OS's have access to 6, so you should just update.

Power PC macs do not have access to Java 6.

 

Well, that's not completely true. There is no official port. There is an unofficial port of J6, but it is based on version 3 of J6 which apparently has lots of bugs, and the port is not really finished -- it "sort of" almost works.

 

===

 

Risugami's Modloader supports J5, as do lots of mods that I want to use.

But going to multiplayer requires FML, and FML, as part of forge, requires J6 because forge requires J6.

And the goal is to run in craftbukkit; MCPC distributes a craftbukkit + forge combo that is J6 required.

 

Given that apparently a large amount of forge needs J6 features, but simple modloader type functionality does not, I'm assuming that FML itself can be compiled with J5 only, even if the rest of the forge hooks require J6.

 

So, let me restate my goal/request here:

 

1. Those parts of forge that do not use J6 language features are J5 compiled/compatible, and

2. Distribution clearly has two parts, so forge addins (or multiplayer FML mods) can be identified as J5 ok or J6 required.

 

Is this in the range of possible? Is this even reasonable? It seems to me it is -- you have modloader functionality, and hook access functionality, and it seems "obvious" that instead of the old rule "Modloader, Modloader_MP, Forge, Optifine, in that order" it should now be "Modloader, FML, ForgeHooks, Optifine, in that order" -- or is that an impossible refactoring/decomposition?

Jeb! The sheep! The fence pens, they do nothing still leak!

Link to comment
Share on other sites

We are NOT going to start distributing multiples of the same thing with forge.

It would be way to much of a hassle for the average user, and give almost no benefit.

However after some testing, Forge does 'compile' for 1.5 however, it has way to many bugs that are caused by the different versions of java.

There are resons why large game companies, and OSX have dropped support for PowerPC.

You are, however, free to compile Forge yourself for 1.5 But it will not be supported.

 

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

So reviewing this, I realized it may seem unclear.

 

As of 1.2.5: Modloader (Risumgami's) is the current best way to add things to minecraft. It only has to add stuff to the single player version; it has no client/server timing issues to worry about.

 

As of 1.2.5: Modloader_MP is dead.

 

As of 1.2.5: FML is the best way to get Modloader functionality into multiplayer.

 

Moving forward: 1.3, maybe, or 1.4, definitely, will have single player games running as a client/server. That means adding mods into minecraft will require FML (as a multiplayer mod loader), and Risugami's will be dead.

 

That means: Moving forward, Java 5 PPC macs will either have FML or will be F'd, my life.

 

That, in turn, means: Since Forge's system of hooks and callbacks cannot be made to work with J5, then those parts of it which can -- and permit simple adds-ins to work -- needs to be separated out, so that there is a clear "Simple forge-compatible, single player server-compatible, mod loader replacement for J5 and J6 systems" ("FML"), and "Complex, J6 only system of hooks and callbacks" (ForgeHooks, or whatever).

 

Yes, J5 macs are kinda old. But a 1.42 GHz PPC is more than twice the power of the minimum system requirements, and almost as good as the recommended system requirements. And there are 1.6+ G4s, as well as G5's and dual-G5's out there.

 

EDIT: Just got ninja'd -- let me see what was added

Jeb! The sheep! The fence pens, they do nothing still leak!

Link to comment
Share on other sites

There are resons why large game companies, and OSX have dropped support for PowerPC.

 

Apple dropped it primarily because they could not get it in sufficient quantities (first), and the larger optimization support for X86 (second) (at least, that's the official world).

 

Major game companies stopped supporting PPC macs because Apple stopped making them.

 

Minecraft still supports it (two lighting bugs; one caused by byteswap that makes torches produce skylight, and the open sky produce torchlight; the second (unknown cause) causes skylight to leak though edges if the surface dirt/grass is only one layer thick). Lighting bug  aside, it's fully playable, and even usable with Optifine (At least, 1.2.5, singleplayer -- multiplayer is a pain, and 1.3 remains to be seen).

 

We are NOT going to start distributing multiples of the same thing with forge.

It would be way to much of a hassle for the average user, and give almost no benefit.

 

...

 

I'm trying to make sense of this.

 

Separating out forge's modloader functionality from it's "hook into the game functions" functionality ... well, I can certainly see that for many people, they will both be used together, because many mods will use the hook-into-game-functions.

 

But by that logic, everything to support all existing mods should be tacked onto Modloader. And that doesn't happen, right?

 

A fundamental rule of computer science, over the last three-four decades: Break things into parts, and keep the parts separate. Given that Modloader has shown that modloader functionality is not the same as hook/modify functionality, and given that FML already exists as a separate system, it really seems to me, to make sense, to say that the existing "Forge" system is too big, and needs to be broken into two parts -- one is the modloader, and the other is the hooks, and while everyone will be using the loader, not everyone will be using the hooks.

 

Am I misunderstanding something basic here?

Jeb! The sheep! The fence pens, they do nothing still leak!

Link to comment
Share on other sites

FML IS distributed separately, so you are free to go get it directly.

And like i said, You are free to recompile them for 1.5

 

And yes, in computer science the rule is to break everything down it its components, but there is computer science, and then there is end user experience.

It has been proven MANY times that the end user cant understand the basic concept of order of installation. Hence the decision to include FML directly into Forge's dist.

 

So, I repeat, you are free to compile FML/Forge for yourself for 1.5, that's the power of Open Source software!

But we are not going to support it officially. Because it would confuse, scare, frighten, intimidate, bewilder, etc.. the average user for no reason.

 

PowerPC makes up 0.008% of forge's downloads according to Google analytics.

 

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

OK.

 

PowerPC makes up 0.008% of forge's downloads according to Google analytics.

 

You do realize that it had 0% chance of working on PPC until the very recent discovery that Apple had a pre-release J6? I'm actually surprised the download is that high if it just plain wouldn't work at all.

Jeb! The sheep! The fence pens, they do nothing still leak!

Link to comment
Share on other sites

It would work if people bothered to do some research.

Anyways don't harp on that number, the point of it being that PPC is a really small marketshare. Quick google gives me about 3% of the Macs out there are PPC. {Don't harp on that number as I said it was a quick google}

 

Anyways, nothing is stopping you from recompiling FML/Forge for 1.5 but i've stated we won't do it unless we have really good reasons to. And if we did do it we would not support it because of the major issues that would arise.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Update your AMD/ATI drivers - get the drivers from their website - do not update via system  
    • As the title says i keep on crashing on forge 1.20.1 even without any mods downloaded, i have the latest drivers (nvidia) and vanilla minecraft works perfectly fine for me logs: https://pastebin.com/5UR01yG9
    • Hello everyone, I'm making this post to seek help for my modded block, It's a special block called FrozenBlock supposed to take the place of an old block, then after a set amount of ticks, it's supposed to revert its Block State, Entity, data... to the old block like this :  The problem I have is that the system breaks when handling multi blocks (I tried some fix but none of them worked) :  The bug I have identified is that the function "setOldBlockFields" in the item's "setFrozenBlock" function gets called once for the 1st block of multiblock getting frozen (as it should), but gets called a second time BEFORE creating the first FrozenBlock with the data of the 1st block, hence giving the same data to the two FrozenBlock :   Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=head] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@73681674 BlockEntityData : id:"minecraft:bed",x:3,y:-60,z:-6} Old Block Fields set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=3, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} Frozen Block Entity set BlockState : Block{minecraft:black_bed}[facing=east,occupied=false,part=foot] BlockPos{x=2, y=-60, z=-6} BlockEntity : net.minecraft.world.level.block.entity.BedBlockEntity@6d1aa3da BlockEntityData : {id:"minecraft:bed",x:2,y:-60,z:-6} here is the code inside my custom "freeze" item :    @Override     public @NotNull InteractionResult useOn(@NotNull UseOnContext pContext) {         if (!pContext.getLevel().isClientSide() && pContext.getHand() == InteractionHand.MAIN_HAND) {             BlockPos blockPos = pContext.getClickedPos();             BlockPos secondBlockPos = getMultiblockPos(blockPos, pContext.getLevel().getBlockState(blockPos));             if (secondBlockPos != null) {                 createFrozenBlock(pContext, secondBlockPos);             }             createFrozenBlock(pContext, blockPos);             return InteractionResult.SUCCESS;         }         return super.useOn(pContext);     }     public static void createFrozenBlock(UseOnContext pContext, BlockPos blockPos) {         BlockState oldState = pContext.getLevel().getBlockState(blockPos);         BlockEntity oldBlockEntity = oldState.hasBlockEntity() ? pContext.getLevel().getBlockEntity(blockPos) : null;         CompoundTag oldBlockEntityData = oldState.hasBlockEntity() ? oldBlockEntity.serializeNBT() : null;         if (oldBlockEntity != null) {             pContext.getLevel().removeBlockEntity(blockPos);         }         BlockState FrozenBlock = setFrozenBlock(oldState, oldBlockEntity, oldBlockEntityData);         pContext.getLevel().setBlockAndUpdate(blockPos, FrozenBlock);     }     public static BlockState setFrozenBlock(BlockState blockState, @Nullable BlockEntity blockEntity, @Nullable CompoundTag blockEntityData) {         BlockState FrozenBlock = BlockRegister.FROZEN_BLOCK.get().defaultBlockState();         ((FrozenBlock) FrozenBlock.getBlock()).setOldBlockFields(blockState, blockEntity, blockEntityData);         return FrozenBlock;     }  
    • It is an issue with quark - update it to this build: https://www.curseforge.com/minecraft/mc-mods/quark/files/3642325
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.