-
Notifications
You must be signed in to change notification settings - Fork 290
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
58 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 0 additions & 4 deletions
4
src/main/java/org/violetmoon/zeta/event/bus/helpers/README.md
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package org.violetmoon.zeta.temp; | ||
|
||
/** | ||
* Represents a type of environment. | ||
* | ||
* <p>A type of environment is a jar file in a <i>Minecraft</i> version's json file's {@code download} | ||
* subsection, including the {@code client.jar} and the {@code server.jar}.</p> | ||
* | ||
* @see Environment | ||
*/ | ||
public enum EnvType { | ||
/** | ||
* Represents the client environment type, in which the {@code client.jar} for a | ||
* <i>Minecraft</i> version is the main game jar. | ||
* | ||
* <p>A client environment type has all client logic (client rendering and integrated | ||
* server logic), the data generator logic, and dedicated server logic. It encompasses | ||
* everything that is available on the {@linkplain #SERVER server environment type}.</p> | ||
*/ | ||
CLIENT, | ||
/** | ||
* Represents the server environment type, in which the {@code server.jar} for a | ||
* <i>Minecraft</i> version is the main game jar. | ||
* | ||
* <p>A server environment type has the dedicated server logic and data generator | ||
* logic, which are all included in the {@linkplain #CLIENT client environment type}. | ||
* However, the server environment type has its libraries embedded compared to the | ||
* client.</p> | ||
*/ | ||
SERVER | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package org.violetmoon.zeta.temp; | ||
|
||
import java.lang.annotation.*; | ||
|
||
/** | ||
* Applied to declare that the annotated element is present only in the specified environment. | ||
* | ||
* <p>Use with caution, as Fabric-loader will remove the annotated element in a mismatched environment!</p> | ||
* | ||
* <p>When the annotated element is removed, bytecode associated with the element will not be removed. | ||
* For example, if a field is removed, its initializer code will not, and will cause an error on execution.</p> | ||
* | ||
* <p>If an overriding method has this annotation and its overridden method doesn't, | ||
* unexpected behavior may happen. If an overridden method has this annotation | ||
* while the overriding method doesn't, it is safe, but the method can be used from | ||
* the overridden class only in the specified environment.</p> | ||
*/ | ||
@Retention(RetentionPolicy.CLASS) | ||
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PACKAGE}) | ||
@Documented | ||
public @interface Environment { | ||
/** | ||
* Returns the environment type that the annotated element is only present in. | ||
*/ | ||
EnvType value(); | ||
} | ||
|