first commit

This commit is contained in:
RyanTLG
2022-03-01 13:30:19 +02:00
commit a93dcb177c
237 changed files with 3310 additions and 0 deletions

39
.github/workflows/build.yml vendored Executable file
View File

@@ -0,0 +1,39 @@
# Automatically build the project and run any configured tests for every push
# and submitted pull request. This can help catch issues that only occur on
# certain platforms or Java versions, and provides a first line of defence
# against bad commits.
name: build
on: [pull_request, push]
jobs:
build:
strategy:
matrix:
# Use these Java versions
java: [
17, # Current Java LTS & minimum supported by Minecraft
]
# and run on both Linux and Windows
os: [ubuntu-20.04, windows-2022]
runs-on: ${{ matrix.os }}
steps:
- name: checkout repository
uses: actions/checkout@v2
- name: validate gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: setup jdk ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: make gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: chmod +x ./gradlew
- name: build
run: ./gradlew build
- name: capture build artifacts
if: ${{ runner.os == 'Linux' && matrix.java == '17' }} # Only upload artifacts built from latest java on one OS
uses: actions/upload-artifact@v2
with:
name: Artifacts
path: build/libs/

33
.gitignore vendored Executable file
View File

@@ -0,0 +1,33 @@
# gradle
.gradle/
build/
out/
classes/
# eclipse
*.launch
# idea
.idea/
*.iml
*.ipr
*.iws
# vscode
.settings/
.vscode/
bin/
.classpath
.project
# macos
*.DS_Store
# fabric
run/

9
README.md Executable file
View File

@@ -0,0 +1,9 @@
# Fabric Example Mod
## Setup
For setup instructions please see the [fabric wiki page](https://fabricmc.net/wiki/tutorial:setup) that relates to the IDE that you are using.
## License
This template is available under the CC0 license. Feel free to learn from it and incorporate it in your own projects.

76
build.gradle Executable file
View File

@@ -0,0 +1,76 @@
plugins {
id 'fabric-loom' version '0.10-SNAPSHOT'
id 'maven-publish'
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
maven { url 'https://jitpack.io' }
}
dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation "com.github.CrimsonDawn45:Fabric-Shield-Lib:v${project.fabric_shield_lib_version}"
}
processResources {
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
tasks.withType(JavaCompile).configureEach {
// Minecraft 1.18 (1.18-pre2) upwards uses Java 17.
it.options.release = 17
}
java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()
}
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}"}
}
}
// configure the maven publication
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}

17
gradle.properties Executable file
View File

@@ -0,0 +1,17 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G
# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=1.18.1
yarn_mappings=1.18.1+build.1
loader_version=0.12.12
# Mod Properties
mod_version = 0.6.1
maven_group = ryantlg.gamermod.mod
archives_base_name = GamerMod
# Dependencies
fabric_version=0.46.0+1.18
fabric_shield_lib_version=1.4.5-1.18

BIN
gradle/wrapper/gradle-wrapper.jar vendored Executable file

Binary file not shown.

5
gradle/wrapper/gradle-wrapper.properties vendored Executable file
View File

@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

234
gradlew vendored Executable file
View File

@@ -0,0 +1,234 @@
#!/bin/sh
#
# Copyright <20> 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions <20>$var<61>, <20>${var}<7D>, <20>${var:-default}<7D>, <20>${var+SET}<7D>,
# <20>${var#prefix}<7D>, <20>${var%suffix}<7D>, and <20>$( cmd )<29>;
# * compound commands having a testable exit status, especially <20>case<73>;
# * various built-in commands including <20>command<6E>, <20>set<65>, and <20>ulimit<69>.
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

89
gradlew.bat vendored Executable file
View File

@@ -0,0 +1,89 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

10
settings.gradle Executable file
View File

@@ -0,0 +1,10 @@
pluginManagement {
repositories {
maven {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
}
mavenCentral()
gradlePluginPortal()
}
}

View File

@@ -0,0 +1,10 @@
package net.fabricmc.ryantlg;
import net.fabricmc.fabric.api.tag.TagFactory;
import net.minecraft.block.Block;
import net.minecraft.tag.Tag;
import net.minecraft.util.Identifier;
public class BlockTags {
public static final Tag<Block> ORES = TagFactory.BLOCK.create(new Identifier("gamermod", "ores"));
}

View File

@@ -0,0 +1,59 @@
package net.fabricmc.ryantlg.armourMaterials;
import net.fabricmc.ryantlg.items.metalItems.omniumMetals;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.recipe.Ingredient;
import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents;
public class OmniumArmorMaterial implements ArmorMaterial {
// {boots, leggings, chestplate, helmet}
private static final int[] BASE_DURABILITY = new int[] {100, 110, 106, 101};
private static final int[] PROTECTION_VALUES = new int[] {5, 10, 12, 5};
// In which A is helmet, B chestplate, C leggings and D boots.
// For reference, Leather uses {1, 2, 3, 1}, and Diamond/Netherite {3, 6, 8, 3}
// {A, C, B, D}
@Override
public int getDurability(EquipmentSlot slot) {
return BASE_DURABILITY[slot.getEntitySlotId()] * 10;
}
@Override
public int getProtectionAmount(EquipmentSlot slot) {
return PROTECTION_VALUES[slot.getEntitySlotId()];
}
@Override
public int getEnchantability() {
return 35;
}
@Override
public SoundEvent getEquipSound() {
return SoundEvents.ITEM_ARMOR_EQUIP_NETHERITE;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(omniumMetals.OMNIUM);
}
@Override
public String getName() {
// Must be all lowercase
return "omnium";
}
@Override
public float getToughness() {
return 4.0F;
}
@Override
public float getKnockbackResistance() {
return -1.0F;
}
}

View File

@@ -0,0 +1,59 @@
package net.fabricmc.ryantlg.armourMaterials;
import net.fabricmc.ryantlg.items.metalItems.oriumMetals;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.recipe.Ingredient;
import net.minecraft.sound.SoundEvent;
import net.minecraft.sound.SoundEvents;
public class OriumArmorMaterial implements ArmorMaterial {
// {boots, leggings, chestplate, helmet}
private static final int[] BASE_DURABILITY = new int[] {43, 60, 75, 49};
private static final int[] PROTECTION_VALUES = new int[] {4, 7, 9, 4};
// In which A is helmet, B chestplate, C leggings and D boots.
// For reference, Leather uses {1, 2, 3, 1}, and Diamond/Netherite {3, 6, 8, 3}
// {A, C, B, D}
@Override
public int getDurability(EquipmentSlot slot) {
return BASE_DURABILITY[slot.getEntitySlotId()] * 10;
}
@Override
public int getProtectionAmount(EquipmentSlot slot) {
return PROTECTION_VALUES[slot.getEntitySlotId()];
}
@Override
public int getEnchantability() {
return 22;
}
@Override
public SoundEvent getEquipSound() {
return SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(oriumMetals.ORIUM);
}
@Override
public String getName() {
// Must be all lowercase
return "orium";
}
@Override
public float getToughness() {
return 2.0F;
}
@Override
public float getKnockbackResistance() {
return 0.0F;
}
}

View File

@@ -0,0 +1,34 @@
package net.fabricmc.ryantlg.blockClasses;
import net.minecraft.block.Block;
import net.fabricmc.ryantlg.sounds;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class Damon extends Block{
public Damon(Settings settings) {
super(settings);
}
@Override
public ActionResult onUse(BlockState blockState, World world, BlockPos blockPos, PlayerEntity placedBy, Hand hand, BlockHitResult blockHitResult) {
if (!world.isClient) {
world.playSound(
null, // Player - if non-null, will play sound for every nearby player *except* the specified player
blockPos, // The position of where the sound will come from
sounds.MATT_SOUND_EVENT, // The sound that will play
SoundCategory.BLOCKS, // This determines which of the volume sliders affect this sound
1f, //Volume multiplier, 1 is normal, 0.5 is half volume, etc
1f // Pitch multiplier, 1 is normal, 0.5 is half pitch, etc
);
}
return ActionResult.FAIL;
}
}

View File

@@ -0,0 +1,60 @@
package net.fabricmc.ryantlg.blockClasses;
import net.fabricmc.ryantlg.sounds;
import net.fabricmc.ryantlg.items.itemsByCrop.weemItems;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.CropBlock;
import net.minecraft.block.ShapeContext;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemConvertible;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.World;
public class WeemCropBlock extends CropBlock {
private static final VoxelShape[] AGE_TO_SHAPE = new VoxelShape[]{Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 2.0D, 16.0D),
Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 3.0D, 16.0D),
Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 4.0D, 16.0D),
Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 5.0D, 16.0D),
Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 6.0D, 16.0D),
Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 7.0D, 16.0D),
Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D),
Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 9.0D, 16.0D)
};
public WeemCropBlock(AbstractBlock.Settings settings) {
super(settings);
}
public ItemConvertible getSeedsItem() {
return weemItems.WEEM_SEEDS;
}
public VoxelShape getOutlineShape(BlockState state, Block world, BlockPos pos, ShapeContext context) {
return AGE_TO_SHAPE[(Integer)state.get(this.getAgeProperty())];
}
@Override
public ActionResult onUse(BlockState blockState, World world, BlockPos blockPos, PlayerEntity placedBy, Hand hand, BlockHitResult blockHitResult) {
if (!world.isClient) {
world.playSound(
null, // Player - if non-null, will play sound for every nearby player *except* the specified player
blockPos, // The position of where the sound will come from
sounds.SNIFF_SOUND_EVENT, // The sound that will play
SoundCategory.BLOCKS, // This determines which of the volume sliders affect this sound
1f, //Volume multiplier, 1 is normal, 0.5 is half volume, etc
1f // Pitch multiplier, 1 is normal, 0.5 is half pitch, etc
);
}
return ActionResult.FAIL;
}
}

View File

@@ -0,0 +1,34 @@
package net.fabricmc.ryantlg.blockClasses;
import net.minecraft.block.Block;
import net.fabricmc.ryantlg.sounds;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class elon extends Block{
public elon(Settings settings) {
super(settings);
}
@Override
public ActionResult onUse(BlockState blockState, World world, BlockPos blockPos, PlayerEntity placedBy, Hand hand, BlockHitResult blockHitResult) {
if (!world.isClient) {
world.playSound(
null, // Player - if non-null, will play sound for every nearby player *except* the specified player
blockPos, // The position of where the sound will come from
sounds.ELON_SOUND_EVENT, // The sound that will play
SoundCategory.BLOCKS, // This determines which of the volume sliders affect this sound
1f, //Volume multiplier, 1 is normal, 0.5 is half volume, etc
1f // Pitch multiplier, 1 is normal, 0.5 is half pitch, etc
);
}
return ActionResult.FAIL;
}
}

View File

@@ -0,0 +1,22 @@
package net.fabricmc.ryantlg.blockClasses;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.world.BlockView;
public class oriumBlock extends Block{
public oriumBlock(Settings settings) {
super(settings);
}
@Override
public void appendTooltip(ItemStack itemStack, BlockView world, List<Text> tooltip, TooltipContext tooltipContext) {
tooltip.add( new TranslatableText("block.gamermod.orium.tooltip").formatted(Formatting.LIGHT_PURPLE, Formatting.ITALIC) );
}
}

View File

@@ -0,0 +1,21 @@
package net.fabricmc.ryantlg.blocks;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.blockClasses.WeemCropBlock;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.CropBlock;
import net.minecraft.block.Material;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class CropBlocks {
public static final CropBlock WEEM_CROP_BLOCK = new WeemCropBlock(AbstractBlock.Settings.of(Material.PLANT).nonOpaque().noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP));
public static void register() {
Registry.register(Registry.BLOCK, new Identifier("gamermod","weem_crop_block"), WEEM_CROP_BLOCK);
gamermod.LOGGER.info("CropBlocks loaded");
}
}

View File

@@ -0,0 +1,28 @@
package net.fabricmc.ryantlg.blocks;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.blockClasses.Damon;
import net.fabricmc.ryantlg.blockClasses.elon;
import net.minecraft.block.Block;
import net.minecraft.block.Material;
import net.minecraft.item.BlockItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class FunnyBlocks {
public static final Block MATT_DAMON = new Damon(FabricBlockSettings.of(Material.BARRIER).strength(4.0f, -1F));
public static final Block ELON_MUSK = new elon(FabricBlockSettings.of(Material.BARRIER).strength(4.0f, -1F));
public static void register() {
Registry.register(Registry.BLOCK, new Identifier("gamermod", "matt_damon"), MATT_DAMON);
Registry.register(Registry.ITEM, new Identifier("gamermod", "matt_damon"), new BlockItem(MATT_DAMON, new FabricItemSettings().group(gamermod.FNUTS)));
Registry.register(Registry.BLOCK, new Identifier("gamermod", "elon_musk"), ELON_MUSK);
Registry.register(Registry.ITEM, new Identifier("gamermod", "elon_musk"), new BlockItem(ELON_MUSK, new FabricItemSettings().group(gamermod.FNUTS)));
gamermod.LOGGER.info("FunnyBlocks loaded");
}
}

View File

@@ -0,0 +1,25 @@
package net.fabricmc.ryantlg.blocks;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.ryantlg.gamermod;
import net.minecraft.block.Block;
import net.minecraft.block.Material;
import net.minecraft.item.BlockItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class omniumBlocks {
public static final Block OMNIUM_ORE = new Block(FabricBlockSettings.of(Material.STONE).strength(4.0f).requiresTool());
public static final Block OMNIUM_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).strength(4.0f).requiresTool());
public static void register() {
Registry.register(Registry.BLOCK, new Identifier("gamermod", "omnium_ore"), OMNIUM_ORE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_ore"), new BlockItem(OMNIUM_ORE, new FabricItemSettings().group(gamermod.CHING)));
Registry.register(Registry.BLOCK, new Identifier("gamermod", "omnium_block"), OMNIUM_BLOCK);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_block"), new BlockItem(OMNIUM_BLOCK, new FabricItemSettings().group(gamermod.CHING)));
gamermod.LOGGER.info("omniumBlocks loaded");
}
}

View File

@@ -0,0 +1,28 @@
package net.fabricmc.ryantlg.blocks;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.blockClasses.oriumBlock;
import net.minecraft.block.Block;
import net.minecraft.block.Material;
import net.minecraft.item.BlockItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class oriumBlocks {
public static final Block ORIUM_ORE = new oriumBlock(FabricBlockSettings.of(Material.STONE).strength(4.0f).requiresTool());
public static final Block ORIUM_BLOCK = new oriumBlock(FabricBlockSettings.of(Material.METAL).strength(4.0f).requiresTool());
public static void register() {
Registry.register(Registry.BLOCK, new Identifier("gamermod", "orium_ore"), ORIUM_ORE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_ore"), new BlockItem(ORIUM_ORE, new FabricItemSettings().group(gamermod.CHING).rarity(Rarity.UNCOMMON)));
Registry.register(Registry.BLOCK, new Identifier("gamermod", "orium_block"), ORIUM_BLOCK);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_block"), new BlockItem(ORIUM_BLOCK, new FabricItemSettings().group(gamermod.CHING).rarity(Rarity.UNCOMMON)));
gamermod.LOGGER.info("oriumBlocks loaded");
}
}

View File

@@ -0,0 +1,10 @@
package net.fabricmc.ryantlg.customToolItemClasses.generic;
import net.minecraft.item.AxeItem;
import net.minecraft.item.ToolMaterial;
public class CSTAxeItem extends AxeItem {
public CSTAxeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,11 @@
package net.fabricmc.ryantlg.customToolItemClasses.generic;
import net.minecraft.item.HoeItem;
import net.minecraft.item.ToolMaterial;
public class CSTHoeItem extends HoeItem {
public CSTHoeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,10 @@
package net.fabricmc.ryantlg.customToolItemClasses.generic;
import net.minecraft.item.PickaxeItem;
import net.minecraft.item.ToolMaterial;
public class CSTPickaxeItem extends PickaxeItem {
public CSTPickaxeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.omnium;
import net.minecraft.item.AxeItem;
import net.minecraft.item.ToolMaterial;
public class OmniumAxeItem extends AxeItem {
public OmniumAxeItem(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.omnium;
import net.minecraft.item.HoeItem;
import net.minecraft.item.ToolMaterial;
public class OmniumHoeItem extends HoeItem{
public OmniumHoeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.omnium;
import net.minecraft.item.PickaxeItem;
import net.minecraft.item.ToolMaterial;
public class OmniumPickaxeItem extends PickaxeItem{
public OmniumPickaxeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.omnium;
import net.minecraft.item.ShovelItem;
import net.minecraft.item.ToolMaterial;
public class OmniumShovelItem extends ShovelItem{
public OmniumShovelItem(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,22 @@
package net.fabricmc.ryantlg.customToolItemClasses.omnium;
import java.util.List;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.ItemStack;
import net.minecraft.item.SwordItem;
import net.minecraft.item.ToolMaterial;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.world.World;
public class OmniumSwordItem extends SwordItem {
public OmniumSwordItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
@Override
public void appendTooltip(ItemStack itemStack, World world, List<Text> tooltip, TooltipContext tooltipContext) {
tooltip.add( new TranslatableText("item.gamermod.omnium_sword.tooltip").formatted(Formatting.DARK_PURPLE, Formatting.ITALIC) );
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.orium;
import net.minecraft.item.AxeItem;
import net.minecraft.item.ToolMaterial;
public class OriumAxeItem extends AxeItem {
public OriumAxeItem(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.orium;
import net.minecraft.item.HoeItem;
import net.minecraft.item.ToolMaterial;
public class OriumHoeItem extends HoeItem{
public OriumHoeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.orium;
import net.minecraft.item.PickaxeItem;
import net.minecraft.item.ToolMaterial;
public class OriumPickaxeItem extends PickaxeItem{
public OriumPickaxeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,12 @@
package net.fabricmc.ryantlg.customToolItemClasses.orium;
import net.minecraft.item.ShovelItem;
import net.minecraft.item.ToolMaterial;
public class OriumShovelItem extends ShovelItem{
public OriumShovelItem(ToolMaterial material, float attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,11 @@
package net.fabricmc.ryantlg.customToolItemClasses.orium;
import net.minecraft.item.SwordItem;
import net.minecraft.item.ToolMaterial;
public class OriumSwordItem extends SwordItem {
public OriumSwordItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(material, attackDamage, attackSpeed, settings);
}
}

View File

@@ -0,0 +1,97 @@
package net.fabricmc.ryantlg;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.fabricmc.ryantlg.blocks.CropBlocks;
import net.fabricmc.ryantlg.blocks.FunnyBlocks;
import net.fabricmc.ryantlg.blocks.omniumBlocks;
import net.fabricmc.ryantlg.blocks.oriumBlocks;
import net.fabricmc.ryantlg.items.armour.omniumArmour;
import net.fabricmc.ryantlg.items.armour.oriumArmour;
import net.fabricmc.ryantlg.items.itemsByCrop.weemItems;
import net.fabricmc.ryantlg.items.metalItems.jeremiumMetals;
import net.fabricmc.ryantlg.items.metalItems.omniumMetals;
import net.fabricmc.ryantlg.items.metalItems.oriumMetals;
import net.fabricmc.ryantlg.items.miscItems.FunnyItems;
import net.fabricmc.ryantlg.items.miscItems.OtherItems;
import net.fabricmc.ryantlg.items.miscItems.fabricOfReality;
import net.fabricmc.ryantlg.items.tools.omniumTools;
import net.fabricmc.ryantlg.items.tools.oriumTools;
import net.fabricmc.ryantlg.lootTables.grassVanillaWeem;
import net.fabricmc.ryantlg.worldGeneration.OmniumOreGen;
import net.fabricmc.ryantlg.worldGeneration.OriumOreGen;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Identifier;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class gamermod implements ModInitializer {
public static final Logger LOGGER = LogManager.getLogger("gamermod");
public static final ItemGroup FNUTS = FabricItemGroupBuilder.build(
new Identifier("gamermod", "fuck"),
() -> new ItemStack(Items.NETHERITE_INGOT)
);
public static final ItemGroup CHING = FabricItemGroupBuilder.create(
new Identifier("gamermod", "things"))
.icon(() -> new ItemStack(FunnyItems.DEEZ_NUTS_ON_CHIN))
.build();
public static final ItemGroup THING = FabricItemGroupBuilder.create(
new Identifier("gamermod", "armour_and_tools"))
.icon(() -> new ItemStack(omniumMetals.OMNIUM))
.build();
// dims portals
//===================================================
// JUST FUCKING KIDDING THE FUCKING API AINT WORKING
// I WANT TO FUCKING KILL A CHILD WITH A RAZER SHARP
// FUCKING BLADE THAT WILL END THE FUCKING WORLD AND
// RIP THE FABRICS OF REALITY APART. DO YOU WANT TO
// SEE THE FABRICS OF REALITY? OF COURSE YOU DO
// THEN RUN /give @p gamermod:fabric_of_reality
//end
//===================================================
@Override
public void onInitialize() {
LOGGER.info("Sup CUNT");
omniumMetals.register();
omniumArmour.register();
omniumTools.register();
omniumBlocks.register();
OmniumOreGen.register();
weemItems.register();
OtherItems.register();
FunnyBlocks.register();
FunnyItems.register();
grassVanillaWeem.register();
oriumMetals.register();
oriumBlocks.register();
oriumArmour.register();
oriumTools.register();
OriumOreGen.register();
CropBlocks.register();
fabricOfReality.register();
jeremiumMetals.register();
}
}

View File

@@ -0,0 +1,21 @@
package net.fabricmc.ryantlg;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.ryantlg.blocks.CropBlocks;
import net.minecraft.client.render.RenderLayer;
@Environment(EnvType.CLIENT)
public class gamermodClient implements ClientModInitializer{
@Override
public void onInitializeClient() {
BlockRenderLayerMap.INSTANCE.putBlocks(RenderLayer.getCutout(), CropBlocks.WEEM_CROP_BLOCK);
gamermod.LOGGER.info("Client only objects loaded");
}
}

View File

@@ -0,0 +1,24 @@
package net.fabricmc.ryantlg.itemClasses;
import java.util.List;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.world.World;
public class BreemItem extends Item {
public BreemItem(Settings settings) {
super(settings);
}
@Override
public void appendTooltip(ItemStack itemStack, World world, List<Text> tooltip, TooltipContext tooltipContext) {
tooltip.add( new TranslatableText("item.gamermod.breem.tooltip").formatted(Formatting.LIGHT_PURPLE, Formatting.ITALIC) );
}
}

View File

@@ -0,0 +1,25 @@
package net.fabricmc.ryantlg.itemClasses;
import java.util.List;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.world.World;
public class FabricReality extends Item{
public FabricReality(Settings settings) {
super(settings);
}
@Override
public void appendTooltip(ItemStack itemStack, World world, List<Text> tooltip, TooltipContext tooltipContext) {
tooltip.add( new TranslatableText("item.gamermod.fabric_of_reality.tooltip").formatted(Formatting.LIGHT_PURPLE, Formatting.ITALIC) );
}
}

View File

@@ -0,0 +1,24 @@
package net.fabricmc.ryantlg.itemClasses;
import java.util.List;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.world.World;
public class WeemItem extends Item {
public WeemItem(Settings settings) {
super(settings);
}
@Override
public void appendTooltip(ItemStack itemStack, World world, List<Text> tooltip, TooltipContext tooltipContext) {
tooltip.add( new TranslatableText("item.gamermod.weem.tooltip").formatted(Formatting.LIGHT_PURPLE, Formatting.ITALIC) );
}
}

View File

@@ -0,0 +1,25 @@
package net.fabricmc.ryantlg.itemClasses;
import java.util.List;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.world.World;
public class oriumItem extends Item{
public oriumItem(Settings settings) {
super(settings);
}
@Override
public void appendTooltip(ItemStack itemStack, World world, List<Text> tooltip, TooltipContext tooltipContext) {
tooltip.add( new TranslatableText("item.gamermod.orium.tooltip").formatted(Formatting.LIGHT_PURPLE, Formatting.ITALIC) );
}
}

View File

@@ -0,0 +1,31 @@
package net.fabricmc.ryantlg.items.armour;
import net.minecraft.util.registry.Registry;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.armourMaterials.OmniumArmorMaterial;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
public class omniumArmour {
public static final ArmorMaterial OMNIUM_ARMOR_MATERIAL = new OmniumArmorMaterial();
public static final Item OMNIUM_HELMET = new ArmorItem(OMNIUM_ARMOR_MATERIAL, EquipmentSlot.HEAD, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.EPIC));
public static final Item OMNIUM_CHESTPLATE = new ArmorItem(OMNIUM_ARMOR_MATERIAL, EquipmentSlot.CHEST, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.EPIC));
public static final Item OMNIUM_LEGGINGS = new ArmorItem(OMNIUM_ARMOR_MATERIAL, EquipmentSlot.LEGS, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.EPIC));
public static final Item OMNIUM_BOOTS = new ArmorItem(OMNIUM_ARMOR_MATERIAL, EquipmentSlot.FEET, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.EPIC));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_helmet"), OMNIUM_HELMET);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_chestplate"), OMNIUM_CHESTPLATE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_leggings"), OMNIUM_LEGGINGS);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_boots"), OMNIUM_BOOTS);
gamermod.LOGGER.info("omniumArmour loaded");
}
}

View File

@@ -0,0 +1,29 @@
package net.fabricmc.ryantlg.items.armour;
import net.minecraft.util.registry.Registry;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.armourMaterials.OriumArmorMaterial;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.ArmorItem;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
public class oriumArmour {
public static final ArmorMaterial ORIUM_ARMOR_MATERIAL = new OriumArmorMaterial();
public static final Item ORIUM_HELMET = new ArmorItem(ORIUM_ARMOR_MATERIAL, EquipmentSlot.HEAD, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.RARE));
public static final Item ORIUM_CHESTPLATE = new ArmorItem(ORIUM_ARMOR_MATERIAL, EquipmentSlot.CHEST, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.RARE));
public static final Item ORIUM_LEGGINGS = new ArmorItem(ORIUM_ARMOR_MATERIAL, EquipmentSlot.LEGS, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.RARE));
public static final Item ORIUM_BOOTS = new ArmorItem(ORIUM_ARMOR_MATERIAL, EquipmentSlot.FEET, new Item.Settings().group(gamermod.THING).fireproof().rarity(Rarity.RARE));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_helmet"), ORIUM_HELMET);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_chestplate"), ORIUM_CHESTPLATE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_leggings"), ORIUM_LEGGINGS);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_boots"), ORIUM_BOOTS);
gamermod.LOGGER.info("oriumArmour loaded");
}
}

View File

@@ -0,0 +1,71 @@
package net.fabricmc.ryantlg.items.itemsByCrop;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.itemClasses.BreemItem;
import net.fabricmc.ryantlg.itemClasses.WeemItem;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.FoodComponent;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.fabricmc.ryantlg.blocks.CropBlocks;
import net.minecraft.item.AliasedBlockItem;
public class weemItems {
//main items
//================================================================================================================
public static final Item WEEM = new Item(new Item.Settings().group(gamermod.CHING).maxCount(64));
// foods
//================================================================================================================
public static final Item BREEM = new BreemItem(new FabricItemSettings().group(gamermod.CHING)
.food(
new FoodComponent
.Builder()
.hunger(11)
.saturationModifier(013f)
.alwaysEdible()
.meat()
.snack()
.statusEffect(new StatusEffectInstance(StatusEffects.LEVITATION, 20*7), 1f)
.statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*8), 1f)
.build()
));
public static final Item WEEM_APPLE = new WeemItem(new FabricItemSettings().group(gamermod.CHING)
.food(
new FoodComponent
.Builder()
.hunger(11)
.saturationModifier(013f)
.alwaysEdible()
.statusEffect(new StatusEffectInstance(StatusEffects.LEVITATION, 20*9), 1f)
.statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 20*30, 3), 1f)
.statusEffect(new StatusEffectInstance(StatusEffects.STRENGTH, 20*150, 2), 1f)
.statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 20*150, 2), 1f)
.statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 20*160, 3), 1f)
.statusEffect(new StatusEffectInstance(StatusEffects.FIRE_RESISTANCE, 20*160), 1f)
.build()
));
//================================================================================================================
//seeds
//================================================================================================================
public static final Item WEEM_SEEDS = new AliasedBlockItem(CropBlocks.WEEM_CROP_BLOCK, new Item.Settings().group(gamermod.CHING));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "breem"), BREEM);
Registry.register(Registry.ITEM, new Identifier("gamermod", "weem_apple"), WEEM_APPLE);
Registry.register(Registry.ITEM, new Identifier("gamermod","weem_seeds"), WEEM_SEEDS);
Registry.register(Registry.ITEM, new Identifier("gamermod", "weem"), WEEM);
gamermod.LOGGER.info("weemItems loaded");
}
}

View File

@@ -0,0 +1,19 @@
package net.fabricmc.ryantlg.items.metalItems;
import net.fabricmc.ryantlg.gamermod;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class jeremiumMetals {
public static final Item JEREMIUM = new Item(new Item.Settings().fireproof().group(gamermod.CHING).maxCount(128).rarity(Rarity.EPIC));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "jeremium_ingot"), JEREMIUM);
gamermod.LOGGER.info("jeremiumMetals loaded");
}
}

View File

@@ -0,0 +1,20 @@
package net.fabricmc.ryantlg.items.metalItems;
import net.fabricmc.ryantlg.gamermod;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class omniumMetals {
public static final Item OMNIUM = new Item(new Item.Settings().group(gamermod.CHING).maxCount(64).fireproof().rarity(Rarity.RARE));
public static final Item RAW_OMNIUM = new Item(new Item.Settings().group(gamermod.CHING).maxCount(64).fireproof().rarity(Rarity.RARE));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_ingot"), OMNIUM);
Registry.register(Registry.ITEM, new Identifier("gamermod", "raw_omnium"), RAW_OMNIUM);
gamermod.LOGGER.info("omniumMetals loaded");
}
}

View File

@@ -0,0 +1,21 @@
package net.fabricmc.ryantlg.items.metalItems;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.itemClasses.oriumItem;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class oriumMetals {
public static final Item ORIUM = new oriumItem(new Item.Settings().group(gamermod.CHING).maxCount(64).fireproof().rarity(Rarity.UNCOMMON));
public static final Item RAW_ORIUM = new oriumItem(new Item.Settings().group(gamermod.CHING).maxCount(64).fireproof().rarity(Rarity.UNCOMMON));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_ingot"), ORIUM);
Registry.register(Registry.ITEM, new Identifier("gamermod", "raw_orium"), RAW_ORIUM);
gamermod.LOGGER.info("oriumMetals loaded");
}
}

View File

@@ -0,0 +1,36 @@
package net.fabricmc.ryantlg.items.miscItems;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.toolMaterials.deezToolMaterial;
import net.fabricmc.ryantlg.toolMaterials.dragchinToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.SwordItem;
import net.minecraft.item.ToolItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class FunnyItems {
public static final Item CHIN = new Item(new Item.Settings().group(gamermod.FNUTS).maxCount(4));
public static final Item NUTS = new Item(new Item.Settings().group(gamermod.FNUTS).maxCount(4));
public static final Item DEEZ = new Item(new Item.Settings().group(gamermod.FNUTS).maxCount(4));
public static final Item DEEZ_NUTS = new Item(new Item.Settings().group(gamermod.FNUTS).maxCount(4));
public static ToolItem DEEZ_NUTS_ON_CHIN = new SwordItem(deezToolMaterial.INSTANCE, 1, -1.0F, new Item.Settings().group(gamermod.FNUTS));
public static final Item DRAG = new Item(new Item.Settings().group(gamermod.FNUTS).maxCount(4));
public static ToolItem DRAG_DEEZ_NUTS_ON_CHIN = new SwordItem(dragchinToolMaterial.INSTANCE, 1, -1.0F, new Item.Settings().group(gamermod.FNUTS));
public static final Item YOUR_MOTHER = new Item(new Item.Settings().group(gamermod.FNUTS).maxCount(1));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "chin"), CHIN);
Registry.register(Registry.ITEM, new Identifier("gamermod", "nuts"), NUTS);
Registry.register(Registry.ITEM, new Identifier("gamermod", "deez"), DEEZ);
Registry.register(Registry.ITEM, new Identifier("gamermod", "deez_nuts"), DEEZ_NUTS);
Registry.register(Registry.ITEM, new Identifier("gamermod", "deez_nuts_on_your_chin"), DEEZ_NUTS_ON_CHIN);
Registry.register(Registry.ITEM, new Identifier("gamermod", "drag"), DRAG);
Registry.register(Registry.ITEM, new Identifier("gamermod", "drag_deez_nuts_on_your_chin"), DRAG_DEEZ_NUTS_ON_CHIN);
Registry.register(Registry.ITEM, new Identifier("gamermod", "your_mother"), YOUR_MOTHER);
gamermod.LOGGER.info("FunnyItems loaded");
}
}

View File

@@ -0,0 +1,19 @@
package net.fabricmc.ryantlg.items.miscItems;
import net.fabricmc.ryantlg.gamermod;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class OtherItems {
public static final Item NETHERITE_STICK = new Item(new Item.Settings().group(gamermod.CHING).maxCount(64).fireproof().rarity(Rarity.EPIC));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "netherite_stick"), NETHERITE_STICK);
gamermod.LOGGER.info("OtherItems loaded");
}
}

View File

@@ -0,0 +1,19 @@
package net.fabricmc.ryantlg.items.miscItems;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.itemClasses.FabricReality;
import net.minecraft.item.Item;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class fabricOfReality {
public static final Item FABRIC_OF_REALITY = new FabricReality(new Item.Settings().fireproof());
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "fabric_of_reality"), FABRIC_OF_REALITY);
gamermod.LOGGER.info("fabricOfReality loaded");
}
}

View File

@@ -0,0 +1,34 @@
package net.fabricmc.ryantlg.items.tools;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.customToolItemClasses.omnium.OmniumAxeItem;
import net.fabricmc.ryantlg.customToolItemClasses.omnium.OmniumHoeItem;
import net.fabricmc.ryantlg.customToolItemClasses.omnium.OmniumPickaxeItem;
import net.fabricmc.ryantlg.customToolItemClasses.omnium.OmniumShovelItem;
import net.fabricmc.ryantlg.customToolItemClasses.omnium.OmniumSwordItem;
import net.fabricmc.ryantlg.toolMaterials.omniumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ToolItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class omniumTools {
public static ToolItem OMNIUM_SWORD = new OmniumSwordItem(omniumToolMaterial.INSTANCE, 3, -1.0F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.EPIC));
public static ToolItem OMNIUM_PICKAXE = new OmniumPickaxeItem(omniumToolMaterial.INSTANCE, -9, -2.8F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.EPIC));
public static ToolItem OMNIUM_SHOVEL = new OmniumShovelItem(omniumToolMaterial.INSTANCE, -10, -3.0F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.EPIC));
public static ToolItem OMNIUM_AXE = new OmniumAxeItem(omniumToolMaterial.INSTANCE, 6, -1.9F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.EPIC));
public static ToolItem OMNIUM_HOE = new OmniumHoeItem(omniumToolMaterial.INSTANCE, -11, -3.2F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.EPIC));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_sword"), OMNIUM_SWORD);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_pickaxe"), OMNIUM_PICKAXE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_shovel"), OMNIUM_SHOVEL);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_axe"), OMNIUM_AXE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "omnium_hoe"), OMNIUM_HOE);
gamermod.LOGGER.info("omniumTools loaded");
}
}

View File

@@ -0,0 +1,34 @@
package net.fabricmc.ryantlg.items.tools;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.customToolItemClasses.orium.OriumPickaxeItem;
import net.fabricmc.ryantlg.customToolItemClasses.orium.OriumShovelItem;
import net.fabricmc.ryantlg.customToolItemClasses.orium.OriumSwordItem;
import net.fabricmc.ryantlg.customToolItemClasses.orium.OriumAxeItem;
import net.fabricmc.ryantlg.customToolItemClasses.orium.OriumHoeItem;
import net.fabricmc.ryantlg.toolMaterials.oriumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ToolItem;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.registry.Registry;
public class oriumTools {
public static ToolItem ORIUM_SWORD = new OriumSwordItem(oriumToolMaterial.INSTANCE, 2, -2.2F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.RARE));
public static ToolItem ORIUM_PICKAXE = new OriumPickaxeItem(oriumToolMaterial.INSTANCE, -3, -2.8F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.RARE));
public static ToolItem ORIUM_SHOVEL = new OriumShovelItem(oriumToolMaterial.INSTANCE, -2.5F, -3.0F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.RARE));
public static ToolItem ORIUM_AXE = new OriumAxeItem(oriumToolMaterial.INSTANCE, 4, -1.9F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.RARE));
public static ToolItem ORIUM_HOE = new OriumHoeItem(oriumToolMaterial.INSTANCE, -8, -3.2F, new Item.Settings().fireproof().group(gamermod.THING).rarity(Rarity.RARE));
public static void register() {
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_sword"), ORIUM_SWORD);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_pickaxe"), ORIUM_PICKAXE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_shovel"), ORIUM_SHOVEL);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_axe"), ORIUM_AXE);
Registry.register(Registry.ITEM, new Identifier("gamermod", "orium_hoe"), ORIUM_HOE);
gamermod.LOGGER.info("oriumTools loaded");
}
}

View File

@@ -0,0 +1,38 @@
package net.fabricmc.ryantlg.lootTables;
import net.fabricmc.fabric.api.loot.v1.FabricLootPoolBuilder;
import net.fabricmc.fabric.api.loot.v1.event.LootTableLoadingCallback;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.items.itemsByCrop.weemItems;
import net.minecraft.loot.condition.RandomChanceLootCondition;
import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.loot.function.SetCountLootFunction;
import net.minecraft.loot.provider.number.ConstantLootNumberProvider;
import net.minecraft.util.Identifier;
public class grassVanillaWeem {
private static final Identifier GRASS_LOOT_TABLE_ID = new Identifier("minecraft", "blocks/grass");
private static void modifyLootTables() {
LootTableLoadingCallback.EVENT.register(((resourceManager, manager, id, supplier, setter) -> {
if (GRASS_LOOT_TABLE_ID.equals(id)) {
FabricLootPoolBuilder weemSeed = FabricLootPoolBuilder.builder()
.rolls(ConstantLootNumberProvider.create(1))
.with(ItemEntry.builder(weemItems.WEEM_SEEDS))
.withFunction(SetCountLootFunction.builder(ConstantLootNumberProvider.create(1.0f)).build())
.conditionally(RandomChanceLootCondition.builder(0.04f));
supplier.withPool(weemSeed.build());
}
}));
}
public static void register() {
modifyLootTables();
gamermod.LOGGER.info("grassVanillaWeem loaded");
}
}

View File

@@ -0,0 +1,16 @@
package net.fabricmc.ryantlg.mixin;
import net.fabricmc.ryantlg.gamermod;
import net.minecraft.client.gui.screen.TitleScreen;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(TitleScreen.class)
public class GamerMixin {
@Inject(at = @At("HEAD"), method = "init()V")
private void init(CallbackInfo info) {
gamermod.LOGGER.info("fuck you");
}
}

View File

@@ -0,0 +1,24 @@
package net.fabricmc.ryantlg;
import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
public class sounds {
public static final Identifier SNIFF = new Identifier("gamermod:sniff");
public static SoundEvent SNIFF_SOUND_EVENT = new SoundEvent(SNIFF);
public static final Identifier MATT = new Identifier("gamermod:matt");
public static SoundEvent MATT_SOUND_EVENT = new SoundEvent(MATT);
public static final Identifier ELON = new Identifier("gamermod:elon");
public static SoundEvent ELON_SOUND_EVENT = new SoundEvent(ELON);
public static void register() {
gamermod.LOGGER.info("Sounds Loaded");
Registry.register(Registry.SOUND_EVENT, sounds.SNIFF, SNIFF_SOUND_EVENT);
Registry.register(Registry.SOUND_EVENT, sounds.MATT, MATT_SOUND_EVENT);
Registry.register(Registry.SOUND_EVENT, sounds.ELON, ELON_SOUND_EVENT);
}
}

View File

@@ -0,0 +1,9 @@
make gremlinite
make gremlinite armour
make gremlinite tools
nokium
crafting recipes
advancements
argentine
geranine
jeremium

View File

@@ -0,0 +1,36 @@
package net.fabricmc.ryantlg.toolMaterials;
import net.fabricmc.ryantlg.items.miscItems.FunnyItems;
import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient;
public class deezToolMaterial implements ToolMaterial {
public static final deezToolMaterial INSTANCE = new deezToolMaterial();
@Override
public int getDurability() {
return 42069;
}
@Override
public float getMiningSpeedMultiplier() {
return 5.0F;
}
@Override
public float getAttackDamage() {
return 42.0F;
}
@Override
public int getMiningLevel() {
return 3;
}
@Override
public int getEnchantability() {
return 22;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(FunnyItems.DEEZ);
}
}

View File

@@ -0,0 +1,36 @@
package net.fabricmc.ryantlg.toolMaterials;
import net.fabricmc.ryantlg.items.miscItems.FunnyItems;
import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient;
public class dragchinToolMaterial implements ToolMaterial {
public static final dragchinToolMaterial INSTANCE = new dragchinToolMaterial();
@Override
public int getDurability() {
return 42069420;
}
@Override
public float getMiningSpeedMultiplier() {
return 5.0F;
}
@Override
public float getAttackDamage() {
return 69418.0F;
}
@Override
public int getMiningLevel() {
return 3;
}
@Override
public int getEnchantability() {
return 22;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(FunnyItems.DEEZ);
}
}

View File

@@ -0,0 +1,36 @@
package net.fabricmc.ryantlg.toolMaterials;
import net.fabricmc.ryantlg.items.metalItems.omniumMetals;
import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient;
public class omniumToolMaterial implements ToolMaterial {
public static final omniumToolMaterial INSTANCE = new omniumToolMaterial();
@Override
public int getDurability() {
return 1780;
}
@Override
public float getMiningSpeedMultiplier() {
return 12.0F;
}
@Override
public float getAttackDamage() {
return 13.0F;
}
@Override
public int getMiningLevel() {
return 4;
}
@Override
public int getEnchantability() {
return 25;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(omniumMetals.OMNIUM);
}
}

View File

@@ -0,0 +1,36 @@
package net.fabricmc.ryantlg.toolMaterials;
import net.fabricmc.ryantlg.items.metalItems.oriumMetals;
import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient;
public class oriumToolMaterial implements ToolMaterial {
public static final oriumToolMaterial INSTANCE = new oriumToolMaterial();
@Override
public int getDurability() {
return 950;
}
@Override
public float getMiningSpeedMultiplier() {
return 8.0F;
}
@Override
public float getAttackDamage() {
return 9.0F;
}
@Override
public int getMiningLevel() {
return 4;
}
@Override
public int getEnchantability() {
return 22;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.ofItems(oriumMetals.ORIUM);
}
}

View File

@@ -0,0 +1,48 @@
package net.fabricmc.ryantlg.worldGeneration;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.blocks.omniumBlocks;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.gen.YOffset;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.decorator.CountPlacementModifier;
import net.minecraft.world.gen.decorator.HeightRangePlacementModifier;
import net.minecraft.world.gen.decorator.SquarePlacementModifier;
import net.minecraft.world.gen.feature.ConfiguredFeature;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.OreConfiguredFeatures;
import net.minecraft.world.gen.feature.OreFeatureConfig;
import net.minecraft.world.gen.feature.PlacedFeature;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.Identifier;
public class OmniumOreGen {
private static ConfiguredFeature<?, ?> OMNIUM_ORE_CONFIGURED_FEATURE = Feature.ORE.configure(new OreFeatureConfig(
OreConfiguredFeatures.STONE_ORE_REPLACEABLES,
omniumBlocks.OMNIUM_ORE.getDefaultState(),
4)); // vein size
public static PlacedFeature OMNIUM_ORE_PLACED_FEATURE = OMNIUM_ORE_CONFIGURED_FEATURE.withPlacement(
CountPlacementModifier.of(6), // number of veins per chunk
SquarePlacementModifier.of(), // spreading horizontally
HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.fixed(28))); // height
public static void register() {
gamermod.LOGGER.info("OmniumOreGen loaded");
Registry.register(BuiltinRegistries.CONFIGURED_FEATURE,
new Identifier("gamermod", "omnium_ore"), OMNIUM_ORE_CONFIGURED_FEATURE);
Registry.register(BuiltinRegistries.PLACED_FEATURE, new Identifier("gamermod", "omnium_ore"),
OMNIUM_ORE_PLACED_FEATURE);
BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), GenerationStep.Feature.UNDERGROUND_ORES,
RegistryKey.of(Registry.PLACED_FEATURE_KEY,
new Identifier("gamermod", "omnium_ore")));
}
}

View File

@@ -0,0 +1,48 @@
package net.fabricmc.ryantlg.worldGeneration;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
import net.fabricmc.ryantlg.gamermod;
import net.fabricmc.ryantlg.blocks.oriumBlocks;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.gen.YOffset;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.decorator.CountPlacementModifier;
import net.minecraft.world.gen.decorator.HeightRangePlacementModifier;
import net.minecraft.world.gen.decorator.SquarePlacementModifier;
import net.minecraft.world.gen.feature.ConfiguredFeature;
import net.minecraft.world.gen.feature.Feature;
import net.minecraft.world.gen.feature.OreConfiguredFeatures;
import net.minecraft.world.gen.feature.OreFeatureConfig;
import net.minecraft.world.gen.feature.PlacedFeature;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.Identifier;
public class OriumOreGen {
private static ConfiguredFeature<?, ?> ORIUM_ORE_CONFIGURED_FEATURE = Feature.ORE.configure(new OreFeatureConfig(
OreConfiguredFeatures.STONE_ORE_REPLACEABLES,
oriumBlocks.ORIUM_ORE.getDefaultState(),
6)); // vein size
public static PlacedFeature ORIUM_ORE_PLACED_FEATURE = ORIUM_ORE_CONFIGURED_FEATURE.withPlacement(
CountPlacementModifier.of(9), // number of veins per chunk
SquarePlacementModifier.of(), // spreading horizontally
HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.fixed(45))); // height
public static void register() {
gamermod.LOGGER.info("OriumOreGen loaded");
Registry.register(BuiltinRegistries.CONFIGURED_FEATURE,
new Identifier("gamermod", "orium_ore"), ORIUM_ORE_CONFIGURED_FEATURE);
Registry.register(BuiltinRegistries.PLACED_FEATURE, new Identifier("gamermod", "orium_ore"),
ORIUM_ORE_PLACED_FEATURE);
BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), GenerationStep.Feature.UNDERGROUND_ORES,
RegistryKey.of(Registry.PLACED_FEATURE_KEY,
new Identifier("gamermod", "orium_ore")));
}
}

View File

@@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "gamermod:block/elon_musk" }
}
}

View File

@@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "gamermod:block/matt_damon" }
}
}

View File

@@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "gamermod:block/omnium_block" }
}
}

View File

@@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "gamermod:block/omnium_ore" }
}
}

View File

@@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "gamermod:block/orium_block" }
}
}

View File

@@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "gamermod:block/orium_ore" }
}
}

View File

@@ -0,0 +1,28 @@
{
"variants": {
"age=0": {
"model": "gamermod:block/weem_crop_stage0"
},
"age=1": {
"model": "gamermod:block/weem_crop_stage1"
},
"age=2": {
"model": "gamermod:block/weem_crop_stage2"
},
"age=3": {
"model": "gamermod:block/weem_crop_stage3"
},
"age=4": {
"model": "gamermod:block/weem_crop_stage4"
},
"age=5": {
"model": "gamermod:block/weem_crop_stage5"
},
"age=6": {
"model": "gamermod:block/weem_crop_stage6"
},
"age=7": {
"model": "gamermod:block/weem_crop_stage7"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,53 @@
{
"item.gamermod.chin": "your chin",
"itemGroup.gamermod.fuck": "things that go on the chin",
"item.gamermod.nuts": "nuts",
"item.gamermod.deez": "deez",
"item.gamermod.deez_nuts": "deez nuts",
"item.gamermod.deez_nuts_on_your_chin": "deez nuts on your chin",
"item.gamermod.drag": "drag",
"item.gamermod.drag_deez_nuts_on_your_chin": "drag deez nuts on our chin",
"item.gamermod.omnium_ingot": "Omnium Ingot",
"block.gamermod.omnium_ore": "Omnium Ore",
"block.gamermod.omnium_block": "Omnium Block",
"item.gamermod.raw_omnium": "Raw Omnium",
"item.gamermod.your_mother": "your mother",
"block.gamermod.matt_damon": "matt damon",
"item.gamermod.omnium_sword": "Omnium Sword",
"item.gamermod.omnium_pickaxe": "Omnium Pickaxe",
"item.gamermod.omnium_helmet": "Omnium Helmet",
"item.gamermod.omnium_chestplate": "Omnium Chestplate",
"item.gamermod.omnium_leggings": "Omnium Leggings",
"item.gamermod.omnium_boots": "Omnium Boots",
"item.gamermod.omnium_shovel": "Omnium Shovel",
"item.gamermod.omnium_axe": "Omnium Axe",
"item.gamermod.omnium_hoe": "Omnium Hoe",
"item.gamermod.netherite_stick": "Netherite Stick",
"itemGroup.gamermod.things": "ueh, stuff",
"itemGroup.gamermod.armour_and_tools": "Armour, Weapons, and Tools",
"item.gamermod.omnium_sword.tooltip": "Surprisingly lightweight!",
"item.gamermod.weem": "Weem",
"item.gamermod.weem_seeds": "Weem Seeds",
"item.gamermod.breem": "Breem",
"item.gamermod.breem.tooltip": "High as a kite!",
"item.gamermod.weem.tooltip": "Higher than a kite!",
"item.gamermod.weem_apple": "Weem Apple",
"item.gamermod.orium.tooltip": "hahaha ore-ium",
"block.gamermod.orium.tooltip": "hahaha ore-ium",
"item.gamermod.raw_orium": "Raw Orium",
"item.gamermod.orium_ingot": "Orium Ingot",
"block.gamermod.orium_ore": "Orium Ore",
"block.gamermod.orium_block": "Orium Block",
"item.gamermod.orium_helmet": "Orium Helmet",
"item.gamermod.orium_chestplate": "Orium Chestplate",
"item.gamermod.orium_leggings": "Orium Leggings",
"item.gamermod.orium_boots": "Orium Boots",
"item.gamermod.orium_shovel": "Orium Shovel",
"item.gamermod.orium_axe": "Orium Axe",
"item.gamermod.orium_hoe": "Orium Hoe",
"item.gamermod.orium_sword": "Orium Sword",
"item.gamermod.orium_pickaxe": "Orium Pickaxe",
"item.gamermod.fabric_of_reality.tooltip": "Warning: has a chance to get §o§l§4RIPPED§r.",
"item.gamermod.fabric_of_reality": "Fabric of Reality"
}

View File

@@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "gamermod:block/elon_musk"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "gamermod:block/matt_damon"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "gamermod:block/omnium_block"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "gamermod:block/omnium_ore"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "gamermod:block/orium_block"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "gamermod:block/orium_ore"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage0"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage1"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage2"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage3"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage4"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage5"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage6"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "gamermod:block/weem_stage7"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/breem"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/chin"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/deez"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/deez_nuts"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/deez_nuts_on_chin"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/drag"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/drag_deez_nuts_on_your_chin"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "gamermod:block/elon_musk"
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/fabric_of_reality"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "gamermod:block/matt_damon"
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "gamermod:item/netherite_stick"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/nuts"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "gamermod:item/omnium_axe"
}
}

View File

@@ -0,0 +1,3 @@
{
"parent": "gamermod:block/omnium_block"
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/omnium_boots"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "gamermod:item/omnium_chestplate"
}
}

Some files were not shown because too many files have changed in this diff Show More