Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minecraft 1.11.2 wrappers #234

Merged
merged 72 commits into from
Feb 21, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
3d83f95
Begin work on Minecraft 1.11 wrappers.
ExE-Boss Dec 17, 2016
6781f18
Fix Travis build
ExE-Boss Dec 17, 2016
57c013a
Made it so that different Minecraft wrappers can use different ForgeG…
ExE-Boss Dec 17, 2016
910986a
Created Access Transformer
ExE-Boss Dec 18, 2016
5495584
Ported utilities to 1.11.
ExE-Boss Dec 18, 2016
46c27e9
Almost complete
ExE-Boss Dec 19, 2016
f6837a7
Added mcmod.info + Minecraft 1.11 now launches and is playable (curre…
ExE-Boss Dec 20, 2016
6aff453
Rendering fixes
ExE-Boss Dec 20, 2016
419029f
Scale particles
ExE-Boss Dec 20, 2016
c6c07b1
Use https in mcmod.info
ExE-Boss Dec 20, 2016
7e9ab08
Mods can now be loaded + IDs are now properly namespaced.
ExE-Boss Dec 21, 2016
8db3e95
Backported fixes to 1.7 and 1.8
ExE-Boss Dec 21, 2016
41b128f
Rendering fixes + Progress bar
ExE-Boss Dec 22, 2016
41ee69b
Merge remote-tracking branch 'refs/remotes/NOVA-Team/master' into mc1.11
ExE-Boss Dec 22, 2016
390ff35
Fix Travis build + extra method in ProgressBar
ExE-Boss Dec 22, 2016
f14622d
Moved Factory.addPrefix to Identifiable.addPrefix + Display NOVA vers…
ExE-Boss Dec 23, 2016
b70793c
Backport ProgressBar functionality to 1.7 and 1.8
ExE-Boss Dec 25, 2016
655782c
Added ability for wrappers to register their custom FWTileLoaders
ExE-Boss Dec 25, 2016
447fa5d
Simplified the way FWCustomTileLoaders are registered.
ExE-Boss Dec 25, 2016
dbe8486
Fix Travis build
ExE-Boss Dec 25, 2016
c3538c8
Made private methods in BWBlock protected.
ExE-Boss Dec 25, 2016
7012240
Update to latest MCP mapping + Fix bug in MCCraftingGrid
ExE-Boss Dec 26, 2016
3579ecd
Added ability for custom wrappers to handle component registration on…
ExE-Boss Jan 2, 2017
6c1f5de
Changed component handlers and custom tile loaders to events
ExE-Boss Jan 3, 2017
4c925c3
Changed WrapperEvent.FWTileLoad.data to Optional
ExE-Boss Jan 3, 2017
2befae4
Backport new Wrapper Events to 1.7 and 1.8
ExE-Boss Jan 3, 2017
52da4e6
Begin the switch to Forge Capabilities
ExE-Boss Jan 4, 2017
7c72290
Removed a WIP static initializer (FWFluidTank doesn’t exist yet)
ExE-Boss Jan 4, 2017
386bdf5
Remove registerNovaWrapper method in NovaMinecraft
ExE-Boss Jan 4, 2017
2a08464
Clean up rawtypes + Clean up some deprecation + Get rid of Identifiab…
ExE-Boss Jan 5, 2017
0949af6
Get rid of TileEntity pos hack
ExE-Boss Jan 5, 2017
b4a13d3
Merge remote-tracking branch 'refs/remotes/origin/master' into mc1.11
ExE-Boss Jan 6, 2017
73503a8
Minecraft 1.11 Wrappers
ExE-Boss Dec 17, 2016
b396d83
Merge remote-tracking branch 'refs/remotes/origin/master' into mc1.11
ExE-Boss Feb 27, 2017
052d7dc
Fix compile errors and rebase to master
ExE-Boss Feb 27, 2017
f0be787
Upgrade to 1.11.2
ExE-Boss Feb 27, 2017
c9cd8f4
Merge remote-tracking branch 'refs/remotes/origin/master' into mc1.11
ExE-Boss Mar 1, 2017
20771f0
Rebase to master + Get rendering to a usable state
ExE-Boss Mar 1, 2017
8649c71
Fix normal conversion
ExE-Boss Mar 1, 2017
90c6d26
Fix TileEntityTransformer
ExE-Boss Mar 13, 2017
b5b9bd0
Merge remote-tracking branch 'refs/remotes/origin/master' into mc1.11
ExE-Boss Mar 13, 2017
cc2085e
Rebase to Master and update
ExE-Boss Mar 13, 2017
20e57cb
Fix build script fat jar reobfuscation
ExE-Boss Mar 13, 2017
95b8b7e
Merge remote-tracking branch 'refs/remotes/origin/master' into mc1.11
ExE-Boss Mar 13, 2017
1d2c782
Improve Forge capability support
ExE-Boss Mar 13, 2017
d12889f
Implement LexManos's solution to making items persistent
ExE-Boss Mar 14, 2017
547d378
Remove FWNBTTagCompound
ExE-Boss Mar 14, 2017
9c04587
Implement correct NOVA ID namespacing
ExE-Boss Mar 15, 2017
0ba5b03
Recipe fixes and utility
ExE-Boss Mar 15, 2017
ac264d5
Item render fixes
ExE-Boss Mar 15, 2017
bf3c518
Add SLF4J to Log4j bridge to fatJar dependencies
ExE-Boss Mar 15, 2017
cf28661
Improvements to capabilities and world handling
ExE-Boss Mar 16, 2017
a22add7
Move the block's associated TileEntity on block move
ExE-Boss Mar 17, 2017
353ed4a
Implement BWBlockFactory
ExE-Boss Apr 7, 2017
8684f32
Capability Wrapper Rework
ExE-Boss Apr 7, 2017
8d6a197
Merge remote-tracking branch 'refs/remotes/origin/master' into mc1.11
ExE-Boss Apr 20, 2017
39905d6
Refactor `recipes` package
ExE-Boss Apr 20, 2017
4a5ae77
Port recipe changes from `recipes/finish-crafting-implementation`
ExE-Boss Apr 20, 2017
037ccaf
Fixes and improvements
ExE-Boss Apr 20, 2017
a7ad118
Move the block's associated TileEntity on block move properly
ExE-Boss Apr 21, 2017
70dfc2d
Merge branch 'master' into mc1.11
ExE-Boss May 28, 2017
a26d66b
Update to master
ExE-Boss May 28, 2017
aadf057
Silence FML logs when registering blocks and items with a NOVA mod pr…
ExE-Boss May 28, 2017
232f29f
Re-add accidentally deleted lines from `MinecraftRecipeRegistry`
ExE-Boss May 28, 2017
b13972e
Hide NOVA Preloader from the mod list
ExE-Boss May 28, 2017
dca3c10
Add obfuscated code support to ChunkTransformer
ExE-Boss May 28, 2017
413f364
Update Minecraft Forge to 1.11.2-13.20.1.2386
ExE-Boss Oct 19, 2017
606b3b3
Merge branch 'master' into mc1.11
ExE-Boss Oct 19, 2017
f4b5660
Merge branch 'master' into mc1.11
ExE-Boss Oct 24, 2017
c7d2a41
Update to master
ExE-Boss Oct 24, 2017
02120c2
Fix NPE in ClientProxy
ExE-Boss Oct 24, 2017
78c87a1
Merge branch 'master' into mc1.11
ExE-Boss Feb 21, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions minecraft/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
!/build.gradle
!/.gitignore

!/1.11.2
!/1.8
!/1.7.10
17 changes: 17 additions & 0 deletions minecraft/1.11.2/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Ignore All
/*

# Sources
!/src

# github
!/.gitignore
!/README.md

# gradle
!/build.gradle
!/build.properties
!/settings.gradle
!/gradle.properties
!/gradlew*
!/gradle
143 changes: 143 additions & 0 deletions minecraft/1.11.2/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
apply from: "https://raw.githubusercontent.com/NOVA-Team/NOVA-Gradle/master/shared-scripts/java.gradle"

apply plugin: "com.jfrog.artifactory"
apply plugin: "com.github.johnrengelman.shadow"
apply plugin: "maven-publish"

idea.module.name = "Core-MC-1.11.2"
archivesBaseName = "NOVA-Core-Wrapper-MC1.11.2"

configurations {
fatJar
compile.extendsFrom fatJar
// Exclude slf4j-log4j from tests (we use slf4j-simple)
testRuntime.exclude module: 'slf4j-log4j12'
testRuntime.exclude module: 'log4j-slf4j-impl'
}

dependencies {
fatJar project(":")
fatJar 'org.apache.logging.log4j:log4j-slf4j-impl:2.0-beta9'
testCompile project(path: ':', configuration: 'wrapperTests')

testCompile "junit:junit:4.12"
testCompile 'org.assertj:assertj-core:3.0.0'
testRuntime 'org.slf4j:slf4j-simple:1.7.10'
}

jar {
manifest {
attributes 'FMLCorePlugin': 'nova.core.wrapper.mc.forge.v1_11_2.NovaMinecraftCore'
attributes 'FMLCorePluginContainsFMLMod': 'true'
attributes 'FMLAT': 'nova_at.cfg'
}
}

task deobfJar(type: Jar) {
from sourceSets.main.output
classifier = 'deobf'
manifest {
attributes 'FMLCorePlugin': 'nova.core.wrapper.mc.forge.v1_11_2.NovaMinecraftCore'
attributes 'FMLCorePluginContainsFMLMod': 'true'
attributes 'FMLAT': 'nova_at.cfg'
}
}

/**
* Create fat jar file with all dependencies included.
*/
task fatJar(type: Jar) {
configurations.fatJar.each {dep ->
from(project.zipTree(dep)) {
exclude 'META-INF', 'META-INF/**'
}
}
with jar

manifest {
attributes 'FMLCorePlugin': 'nova.core.wrapper.mc.forge.v1_11_2.NovaMinecraftCore'
attributes 'FMLCorePluginContainsFMLMod': 'true'
attributes 'FMLAT': 'nova_at.cfg'
}
classifier = 'fat'

doLast {
reobfFatJar.execute()
}
}

artifacts {
archives deobfJar
archives fatJar
}

publishing {
publications {
main(MavenPublication) {
from components.java

artifactId archivesBaseName

artifact sourcesJar
artifact javadocJar
artifact deobfJar
artifact fatJar

pom.withXml(writePom(project.properties))
pom.withXml {xml ->
def children = xml.asNode().get("dependencies")[0]
for (child in children) {
def artifactId = child.get("artifactId")[0].value()[0]
if (artifactId.equals("forgeSrc") || artifactId.equals("forgeBin")) {
children.remove(child)
break;
}
}
}
}
}
}

artifactory {
publish {
defaults {
publications("main")
publishPom = true
}
}
}

apply plugin: 'net.minecraftforge.gradle.forge'

minecraft {
version = property("minecraft.version") + "-" + property("forge.version")
mappings = 'snapshot_20170612'
runDir = "run"
}

reobf {
// TODO Figure out how to make this work with maven-publish (creates a new task 'reobfFatJar' that isn't compatible with maven-publish)
fatJar {classpath += configurations.compile}
}

runClient {
jvmArgs '-Dfml.coreMods.load=nova.core.wrapper.mc.forge.v1_11_2.NovaMinecraftCore'
}

runServer {
jvmArgs '-Dfml.coreMods.load=nova.core.wrapper.mc.forge.v1_11_2.NovaMinecraftCore'
}

processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version

from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info', 'fmlbranding.properties'
expand 'version': project.version, 'mcversion': project.minecraft.version
}

from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info', 'fmlbranding.properties'
}
}
10 changes: 10 additions & 0 deletions minecraft/1.11.2/gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
group = nova.core

minecraft.version = 1.11.2
forge.version = 13.20.1.2386
forgeGradleVersion = 2.2-SNAPSHOT

packaging = jar
info.inceptionYear = 2016
info.description = The wrapper of the Nova API to the MinecraftForge 1.11.2 modding system.
info.organization.name = NOVA
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*
* Copyright (c) 2015 NOVA, All rights reserved.
* This library is free software, licensed under GNU Lesser General Public License version 3
*
* This file is part of NOVA.
*
* NOVA is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NOVA is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NOVA. If not, see <http://www.gnu.org/licenses/>.
*/

package nova.core.wrapper.mc.forge.v1_11_2;

import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import nova.core.wrapper.mc.forge.v1_11_2.asm.transformers.Transformers;

import java.util.Map;

@MCVersion(value = "1.11.2")
public class NovaMinecraftCore implements IFMLLoadingPlugin {
@Override
public String[] getASMTransformerClass() {
return new String[] { Transformers.class.getName() };
}

@Override
public String getModContainerClass() {
return "nova.core.wrapper.mc.forge.v1_11_2.NovaMinecraftPreloader";
}

@Override
public String getSetupClass() {
return null;
}

@Override
public void injectData(Map<String, Object> data) {

}

@Override
public String getAccessTransformerClass() {
return null;
}
}
Loading