Giter Club home page Giter Club logo

youdirk_numeric_io's People

Contributors

youdirk avatar

Stargazers

 avatar

Watchers

 avatar

youdirk_numeric_io's Issues

[feature-request] Make build system 100% Linux compatible

Linux

Update: Linux compatibility looks better than expected. The most make targets seems to work. Exceptions are only the following targets

  • mf_install, install and run_productive

But the recommended way to test your code works fine. Use the targets

  • run_client and run_server

Don't currently know what is the default way to install Minecraft on Linux. An official Linux-Launcher does not exist. Leaving this issue open.

tested on system:

  • Debian 10.0 (Buster), Kernel Linux 4.19.0-5-amd64
  • JDK: Oracle Java SE Development Kit 1.8.0_211 for Linux amd64
  • necessary GLX Info
    direct rendering: Yes
    glx vendor string: NVIDIA Corporation
    glx version string: 1.4
    OpenGL renderer string: GeForce GTX 850M/PCIe/SSE2
    OpenGL core profile version string: 4.6.0 NVIDIA 430.14
    OpenGL core profile shading language version string: 4.60 NVIDIA

Known related issues could be

  • makefile.check.mk: BROWSER_CMD could/will not set correctly
  • makefile.check.mk: make sure that _2WINPATH works
  • makefile.check.mk: make sure that _2UNIXPATH works
  • makefile.check.mk: LAUNCHER_PROD_CMD will not detected
  • makefile.check.mk: LAUNCHER_PATH will not detected, APPDATA does not exist on Linux
  • makefile.check.mk: MY_JAVA_HOME will not set. JDK will not detected
  • I'm really sure that there are more problems. These can be added here

Additional tasks

  • Adapt CONTRIBUTING.md how it works on Linux

Default Windows 10

The current mostly used development environment is

  • Windows 10 (x86_64)
  • using MSYS2 as POSIX compatible bash shell environment
  • GNU make to define build rules. To install run command in MSYS2 shell $> pacman -S msys/make
  • all other dependencies will be checked automatically in makefile.check.mk and outputs an error with an instruction what and how to install

Until CONTRIBUTING.md #4 was not fully written, here comes a short reference about the currently implemented (commit 4b8eeed) make targets:. You can run it using the command $> make <target>

all <default>: Runs Java compiler and build all Mod classes (same as CLASSES)
classes: Same as official Forge command `$> ./gradlew classes`
run_client: Same as official Forge command `$> ./gradlew runClient`
run_server: Same as official Forge command `$> ./gradlew runServer`
build: Same as official Forge command `$> ./gradlew build`
run_productive: Run MF_INSTALL, INSTALL and runs the official Minecraft Launcher, downloadable from https://www.minecraft.net/download/
javadoc: Generate a Javadoc documentation for the Mod-API and open it in browser
mf_javadoc: Generate a Javadoc documentation for the Forge-API and open it in browser

clean_run: Reset all Minecraft runtime-configuration which were set during RUN_CLIENT, RUN_SERVER
clean: Remove all temporay/cache files which were generated during work

jdk_version: Output JDK version which will be used. Useful if you have more than one installed on your system

bootstrap: Runs FORGE followed by CONFIG_ALL
mf_publish: Build Forge Installer Jars, copy it to maven repository and add Version-Data to website
publish: Runs BUILD, copy Mod-Jar to maven repository and add Version-Data to website
clean_all: Delete all files which are possible to re-generate. Also files which were commited to Git. Useful for maintaining and upgrade to a new Minecraft-Version and/or Forge-Version

website_addtag: Same as WEBSITE_ADDTAG_NODEP, but check if Mod was PUBLISH before
website_addtag_nodep: Add a Tag of the current Mod-Version on website
website_rmtag: Same as WEBSITE_RMTAG_NODEP, but check if Mod was PUBLISH before
website_rmtag_nodep: Remove a Tag of the current Mod-Version from website

website_mf_addtag: Add a Tag of the current Forge-Version on website
website_mf_rmtag: Remove a Tag of the current Forge-Version from website

config_all: Generate all config files which are generally needed for the whole project. Normally it will called automatically
forge: clone/checkout Git submodule `forge`, the latest official Minecraft Forge source for branch defined in makefile.config.mk
install: Run BUILD, MF_INSTALL and install the Mod-Jar to the official Minecraft Launcher, downloadable from https://www.minecraft.net/download/
website_forge: Same as MF_PUBLISH, but a copy of the Forge Jars must be already available in maven repository
clean_bootstrap: Delete all files which were generated via BOOTSTRAP
clean_forge: Delete all files which were generated via FORGE
mf_deinit: Deinit the Forge Git submodule `forge` which was generated via FORGE
mf_install: Compile Forge Installer Jar and install it to official Minecraft Launcher, downloadable from https://www.minecraft.net/download/
website_mod: Same as PUBLISH, but a copy of the Mod-Jar must be already available in maven repository

[bug] Patch-Notes doesn't work during MAKE PUBLISH

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Create a Survival World/Create a Server/Join a Multiplayer game
  2. Go to '...'
  3. Craft/Enchant/Fight/Mine '...'
  4. Click on '....'
  5. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. Windows, Linux, ...]
  • Version of youdirk_numeric_io: [e.g. 1.13.2-1.0.1.5]
  • Minecraft version: [e.g. 1.13.2]
  • MinecraftForge version: [e.g. 14.23.5.2807]

Additional context
Add any other context about the problem here.

Mod should possible to connect to vanilla server

A modded client should be possible to connect to unmodded vanilla server.

Result:

  • Vanilla server is displayed as incompatible in server list, but connection to it works
    "Incompatible Vanilla server"

  • Try to remove the incompatible icon in server list, submenu Multiplayer

Minor stuff

  • Net.java comment: Missing quotes
  • Net.java comment: Replace Remote.Version > Local.Version with Remote.Version >= Local.Version
  • makefile.variables.mk rename VERSION_API to VERSION_SPEC
  • build.gradle: Specification-Version should not include Minecraft version

[bug] `old-stable` and `final` promo on website may not work ...

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Create a Survival World/Create a Server/Join a Multiplayer game
  2. Go to '...'
  3. Craft/Enchant/Fight/Mine '...'
  4. Click on '....'
  5. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. Windows, Linux, ...]
  • Version of youdirk_numeric_io: [e.g. 1.13.2-1.0.1.5]
  • Minecraft version: [e.g. 1.13.2]
  • MinecraftForge version: [e.g. 14.23.5.2807]

Additional context
Add any other context about the problem here.

Some little issues

  • Rename downloadable dummy files to dummy instead of pre
  • CSS bug on website using mobile device
  • Remove first title in content section
  • CONTRIBUTING.md::Guidlines: Copy & Paste error

Creating Git branch structure

  • branch 1.13.x will be the main developement branch
  • master is using Minecraft version 1.14.x
  • Merging goes only from 1.13.x -> master
  • Website is showing docs in master
  • if giving up to support 1.13.x then make a final release and the main devlopment branch is switched to master

Minor stuff

  • debug/CommonEventsForge.java: Remove import PacketDistributor
  • debug/*: "non-productive builds" in comments should be called "debug builds"
  • resoucres/*/lang/: Better english (in "translation keys" aka. "untranslated text") plllllzzzzzzzz

Test if vanilla client is unconnectable to modded server

  • vanilla clients should not connectable to modded servers

Result

  • Vanilla client does not connect to modded server, ingame reason during connecting:
    "This server has mods that require Forge to be installed on the client. Contact your server admin for more details."
  • Forge client without mod installed does not connect to modded server, reason in server list:
    "Incompatible FML modded server. The Server's network messages are not compatible"

Adapt website-links

  • In update.json should link to /downloads
  • Check if sometimes a tailing / is missing

[bug] Breaking a Block results not in spawning an corresponding Item

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Create a Survival World/Create a Server/Join a Multiplayer game
  2. Go to '...'
  3. Craft/Enchant/Fight/Mine '...'
  4. Click on '....'
  5. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. Windows, Linux, ...]
  • Version of youdirk_numeric_io: [e.g. 1.13.2-1.0.1.5]
  • Minecraft version: [e.g. 1.13.2]
  • MinecraftForge version: [e.g. 14.23.5.2807]

Additional context
Add any other context about the problem here.

Setup an empty MinecraftForge project

Self-reminder: To build the currunt 1.13-pre, use the following gradle tasks:

./gradlew setup :forge:licenseFormat :forge:build :forge:installerJar

Produce own sound-set assets

  • Implement an own SoundType for own sound-set assets used for place, break, step, hit, fall sounds
  • Use own sound assets for rightClick (activateBlock)

Minor Makefile refactoring

  • Bug: Sometime MY_JAVA_HOME will be set to emtpy (in PATH set?)
  • Rename .makefile.cache.inc to .makefile.cache.mk
  • Split Makefile into some includes
  • Second Bug during make maven: Sometime MY_JAVA_HOME will be set to emtpy
  • Group regexstuff together & namespace it ...

Think about compatibility rules for NetworkChannel in class `Net`

  • Implement Net::isClientAcceptVersion(String serverVersion)
  • Implement Net::isServerAcceptVersion(String clientVersion)

Current idea to implement:

  /**
   * The version format is: "MAJOR.API.MINOR"
   *
   * <p>The following rules decides, which side is accepting which
   * remote version.</p>
   *
   * <pre><code>
   * 1. If (Remote.Version >= Local.Version):
   *      ACCEPT and let decide the remote host
   *
   *    So we make sure that the newer implementation decides if
   *    protocol is compatible.
   *
   * 2. If (Remote.MAJOR != Local.MAJOR || Remote.API != Local.API):
   *      DENY, cause of breaking changes
   *
   *    In opposite, if you make breaking changes in the protocol then
   *    increment the API Version
   *
   * 3. If (Client.MINOR >= Server.MINOR):
   *      ACCEPT, cause there are only new features on the client
   *    else:
   *      DENY, cause server has new features which are not supported
   *            by the client
   *
   * </code></pre>
   */

Minor stuff on website, MF Forge Download

  • as long as develop, rename testdata versions to 1.13-dummy as the can be identified as test stuff
  • promos: remove brackets, colors looking to strong
  • Add wiki link at the top of webpage
  • Show all MF builds stuff
    • begin with lower case
    • remove ... above
    • try to remove the big spacing between the lines surrounding
  • move the whole Download MF section into an {% include %} to remove redundancy

[bug] Logo in Mod-Menu not shown

It's a bug in Minecraft Forge. Could fix it. A Pull Request to the official Forge repository is pending

index cc1d4eb32..f92333edf 100644
--- a/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModInfo.java
+++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/moddiscovery/ModInfo.java
@@ -50,6 +50,7 @@ public class ModInfo implements IModInfo
     private final ArtifactVersion version;
     private final String displayName;
     private final String description;
+    private final Optional<String> logoFile;
     private final URL updateJSONURL;
     private final List<IModInfo.ModVersion> dependencies;
     private final Map<String,Object> properties;
@@ -74,6 +75,13 @@ public class ModInfo implements IModInfo
                 map(DefaultArtifactVersion::new).orElse(DEFAULT_VERSION);
         this.displayName = modConfig.<String>getOptional("displayName").orElse(null);
         this.description = modConfig.get("description");
+
+        Optional<String> tmp = modConfig.<String>getOptional("logoFile");
+        if (!tmp.isPresent() && this.owningFile != null) {
+            tmp = this.owningFile.getConfig().getOptional("logoFile");
+        }
+        this.logoFile = tmp;
+
         this.updateJSONURL = modConfig.<String>getOptional("updateJSONURL").map(StringUtils::toURL).orElse(null);
         if (owningFile != null) {
             this.dependencies = owningFile.getConfig().<List<UnmodifiableConfig>>getOptional(Arrays.asList("dependencies", this.modId)).
@@ -140,7 +148,7 @@ public class ModInfo implements IModInfo

     public Optional<String> getLogoFile()
     {
-        return this.owningFile != null ? this.owningFile.getConfig().getOptional("logoFile") : this.modConfig.getOptional("logoFile");
+        return this.logoFile;
     }

     public boolean hasConfigUI()

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.