Skip to content

Commit

Permalink
Merge branch 'FoundryMC:1.20' into 1.20
Browse files Browse the repository at this point in the history
  • Loading branch information
Redfan2 authored Nov 22, 2024
2 parents fd560de + c06b15a commit e6995e9
Show file tree
Hide file tree
Showing 202 changed files with 8,236 additions and 1,048 deletions.
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Description**
Please provide a clear and concise description of the bug.

**To Reproduce**
Steps to reproduce the behavior:
1.
2.
3.

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

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

**System Information**
Please provide the following information:
- **Veil Version**: [e.g., 1.0.0]
- **Minecraft Version**: [e.g., 1.16.5]
- **Loader & Loader Version**: [e.g., Fabric 0.11.3]
- **Operating System**: [e.g., Windows 10, macOS 11.2]
- **CPU**: [e.g., Intel i7-9700K]
- **GPU**: [e.g., NVIDIA RTX 2070]
- **RAM**: [e.g., 16GB]

**Additional Context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
37 changes: 37 additions & 0 deletions .github/workflows/publish-javadoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Deploy Javadoc

on:
push:
branches:
- 1.20

jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: write # if you have a protection rule on your repository, you'll need to give write permission to the workflow.
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Debug - List directory contents
run: |
pwd
ls -R
- name: Deploy JavaDoc 🚀
uses: MathieuSoysal/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 17
javadoc-source-folder: common/build/docs/javadoc
project: gradle


- name: Debug - List directory contents
run: |
pwd
ls -R
if: always()
128 changes: 128 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
45 changes: 45 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Contributing Guidelines

## Introduction
Welcome to the Veil project! We're thrilled that you're interested in contributing. Veil is a rendering library for Minecraft, with the goal of including more game-engine style features in the future. This project is created out of a love for coding and the desire to build something fun and useful. While we primarily develop Veil for our own use, we are more than happy for others to use it in their projects. However, please understand that Veil is not designed to be an "enterprise-level" library, and we will always prioritize our own goals and use cases.

## How to Contribute

### Reporting Issues
If you encounter any bugs or have suggestions for improvements, please open an issue. When reporting an issue, please provide as much detail as possible, including steps to reproduce the problem, your environment, and any relevant logs or screenshots.

### Pull Requests (PRs)
We welcome pull requests from the community! However, please note that we review and accept PRs at our discretion, based on how they fit with our vision and needs for Veil. Here are some guidelines to help your PR get accepted:

1. **Discuss First**: Before spending time on a major change, it's a good idea to open an issue to discuss your proposed changes. This helps ensure that your efforts align with the project's direction and goals.

2. **Fork the Repository**: Create a fork of the Veil repository and work on your changes in your fork.

3. **Create a Branch**: Use a descriptive branch name for your changes, such as `feature/new-cool-feature` or `bugfix/fix-crash`.

4. **Write Clear Commit Messages**: Use clear and concise commit messages that explain the purpose of your changes.

5. **Follow Coding Standards**: Maintain the coding style and conventions used in the project. Consistent code helps with readability and maintenance.

6. **Test Your Changes**: Ensure that your changes do not break existing functionality. If possible, add tests for your new features or bug fixes.

7. **Submit Your PR**: Once your changes are ready, submit a pull request to the `main` branch of the Veil repository. Include a description of your changes and any relevant context or documentation.

### Code of Conduct
Please note that we expect all contributors to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md). Respectful and constructive interactions are crucial for maintaining a positive and collaborative community.

## What to Expect
As maintainers, we review contributions based on our discretion and priorities. Here are a few things to keep in mind:

- **Internal Priorities**: Our own use cases and goals for Veil will always take precedence. While we appreciate community contributions, they must align with our internal needs.
- **Response Time**: We will do our best to review your issues and PRs in a timely manner, but please be patient as this is a passion project for us.
- **Feedback**: If we have feedback or requests for changes, we will communicate them through the issue or PR comments.
- **Acceptance**: Not all contributions will be accepted. We appreciate all efforts, but we reserve the right to decline contributions that do not align with our project's vision or standards.

## Thank You!
Thank you for your interest in contributing to Veil! Your contributions, whether large or small, help make this project better for everyone. We appreciate your support and understanding of our approach to managing this passion project.

Happy coding!

---
If you have any questions, feel free to reach out to us through the issues section on GitHub or in the FoundryMC Discord. We're here to help and appreciate your efforts to improve Veil!
58 changes: 53 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,56 @@
# Veil
# Veil: Advanced Rendering for Minecraft 🖼️✨

[![https://maven.blamejared.com/foundry/veil/Veil-common-1.20.1/](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fmaven.blamejared.com%2Ffoundry%2Fveil%2FVeil-common-1.20.1%2Fmaven-metadata.xml&label=Veil%201.20)](https://maven.blamejared.com/foundry/veil/Veil-common-1.20.1/)
[![https://maven.blamejared.com/foundry/veil/Veil-common-1.20.4/](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fmaven.blamejared.com%2Ffoundry%2Fveil%2FVeil-common-1.20.4%2Fmaven-metadata.xml&label=Veil%201.20.4)](https://maven.blamejared.com/foundry/veil/Veil-common-1.20.4/)
[![Veil 1.20](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fmaven.blamejared.com%2Ffoundry%2Fveil%2FVeil-common-1.20.1%2Fmaven-metadata.xml&label=Veil%201.20)](https://maven.blamejared.com/foundry/veil/Veil-common-1.20.1/)
[![Veil 1.20.4](https://img.shields.io/maven-metadata/v?metadataUrl=https%3A%2F%2Fmaven.blamejared.com%2Ffoundry%2Fveil%2FVeil-common-1.20.4%2Fmaven-metadata.xml&label=Veil%201.20.4)](https://maven.blamejared.com/foundry/veil/Veil-common-1.20.4/)
[![Javadoc](https://img.shields.io/badge/javadoc-latest-blue)](https://foundrymc.github.io/Veil/)
[![Discord](https://img.shields.io/discord/1022254439836430386.svg?label=Discord&color=blue)](https://discord.com/invite/2aqTX9QWKU)

This is the Veil project. It is a collection of tools and utilities that are designed to make it easier for mod developers to do advanced rendering in their mods. See the [Example Mod here](https://github.com/FoundryMC/veil-example-mod).
Veil is a sophisticated collection of tools and utilities designed to facilitate advanced rendering for Minecraft mod
developers. Our goal is to enable more modern game-engine level content in Java Minecraft, pushing the boundaries of
what is possible in modding.

### [Veil Developer Wiki](https://github.com/FoundryMC/Veil/wiki)
## Features

- **Animations**: A timeline-keyframe system supporting position, rotation, and scale.
- **Colors**: Manage colors and use them with Themes.
- **Easings**: Apply easing functions for more natural motion.
- **Framebuffer**: JSON-driven custom framebuffers.
- **In-World Tooltips**: Fully customizable, network-synced 3D tooltips.
- **OpenCL**: Harness the power of OpenCL for rendering and other computational tasks.
- **Post Processing**: A custom post-processing pipeline with easy texture binding.
- **Shaders**: Full support for all OpenGL shader types, with HLSL and Spir-V support potentially coming in the future.
- **Shader Modification**: Inject and modify existing shaders to suit your needs.

## Getting Started

Explore our [Example Mod](https://github.com/FoundryMC/veil-example-mod) to see Veil in action and learn how to
integrate it into your projects.

For comprehensive documentation and guides, visit our [Veil Developer Wiki](https://github.com/FoundryMC/Veil/wiki).

## Contribution Guidelines

We welcome contributions from the community! Before contributing, please read
our [Contributing Guidelines](CONTRIBUTING.md) to understand our processes and ensure your contributions align with the
project goals.

## Code of Conduct

Please note that we expect all contributors to adhere to our [Code of Conduct](CODE_OF_CONDUCT.md). Respectful and
constructive interactions are crucial for maintaining a positive and collaborative community.

## License

Veil is licensed under the [LGPL License](LICENSE). Feel free to use, modify, and distribute the code as per the terms
of the license.

## Goals

Our primary goal with Veil is to enable the creation of more modern, game engine-level content within Java Minecraft. We
strive to provide mod developers with the tools they need to push the boundaries of what is possible in Minecraft
modding, bringing new and exciting experiences to players.

## Contact

If you have any questions, feel free to reach out to us through the issues section on GitHub. We're here to help and
appreciate your efforts to improve Veil!
5 changes: 5 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ subprojects {

java.toolchain.languageVersion = JavaLanguageVersion.of(17)
java.withSourcesJar()

javadoc {
failOnError = false
}

jar {
from(rootProject.file("LICENSE")) {
rename { "${it}_${mod_name}" }
Expand Down
3 changes: 0 additions & 3 deletions common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@ dependencies {
compileOnly 'org.spongepowered:mixin:0.8.5'
compileOnly 'org.jetbrains:annotations:24.0.1'

implementation "org.antlr:antlr4-runtime:${antlr_version}"
implementation "io.github.douira:glsl-transformer:${glsl_transformer_version}"
implementation "io.github.douira:glsl-preprocessor:${glsl_preprocessor_version}"
implementation "gg.moonflower:molang-compiler:${molang_compiler_version}"

implementation "io.github.spair:imgui-java-binding:$imgui_version"
Expand Down
Loading

0 comments on commit e6995e9

Please sign in to comment.